summaryrefslogtreecommitdiff
path: root/game/server/tf/tf_objective_resource.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/server/tf/tf_objective_resource.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'game/server/tf/tf_objective_resource.h')
-rw-r--r--game/server/tf/tf_objective_resource.h109
1 files changed, 109 insertions, 0 deletions
diff --git a/game/server/tf/tf_objective_resource.h b/game/server/tf/tf_objective_resource.h
new file mode 100644
index 0000000..e22bce5
--- /dev/null
+++ b/game/server/tf/tf_objective_resource.h
@@ -0,0 +1,109 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: DOD's objective resource, transmits all objective states to players
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef TF_OBJECTIVE_RESOURCE_H
+#define TF_OBJECTIVE_RESOURCE_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "tf_shareddefs.h"
+#include "team_objectiveresource.h"
+
+class CTFObjectiveResource : public CBaseTeamObjectiveResource
+{
+ DECLARE_CLASS( CTFObjectiveResource, CBaseTeamObjectiveResource );
+public:
+ DECLARE_SERVERCLASS();
+ DECLARE_DATADESC();
+
+ CTFObjectiveResource();
+ ~CTFObjectiveResource();
+
+ virtual void Spawn( void );
+
+ void SetMannVsMachineMaxWaveCount( int nCount ) { m_nMannVsMachineMaxWaveCount = nCount; }
+ int GetMannVsMachineMaxWaveCount( void ) { return m_nMannVsMachineMaxWaveCount; }
+ void SetMannVsMachineWaveCount( int nCount ) { m_nMannVsMachineWaveCount = nCount; }
+ int GetMannVsMachineWaveCount( void ) { return m_nMannVsMachineWaveCount; }
+
+ void SetMannVsMachineWaveEnemyCount( int nCount ) { m_nMannVsMachineWaveEnemyCount = nCount; }
+ int GetMannVsMachineWaveEnemyCount( void ) { return m_nMannVsMachineWaveEnemyCount.Get(); }
+
+ void AddMvMWorldMoney( int nCurrency ) { m_nMvMWorldMoney += nCurrency; }
+
+ void SetMannVsMachineNextWaveTime( float flTime ) { m_flMannVsMachineNextWaveTime = flTime; }
+ void SetMannVsMachineBetweenWaves( bool bVal ) { m_bMannVsMachineBetweenWaves = bVal; }
+ bool GetMannVsMachineIsBetweenWaves( void ) { return m_bMannVsMachineBetweenWaves; }
+
+ void SetMannVsMachineWaveClassCount( int nIndex, int nCount );
+ void SetMannVsMachineWaveClassName( int nIndex, string_t iszClassIconName );
+ void IncrementMannVsMachineWaveClassCount( string_t iszClassIconName, unsigned int iFlags );
+ void DecrementMannVsMachineWaveClassCount( string_t iszClassIconName, unsigned int iFlags );
+ void IncrementTeleporterCount();
+ void DecrementTeleporterCount();
+ int GetMannVsMachineWaveClassCount( int nIndex );
+ void SetMannVsMachineWaveClassActive( string_t iszClassIconName, bool bActive = true );
+
+ string_t GetMannVsMachineWaveClassName( int nIndex ) { return m_iszMannVsMachineWaveClassNames[ nIndex ]; }
+ void ClearMannVsMachineWaveClassFlags( void );
+ void AddMannVsMachineWaveClassFlags( int nIndex, unsigned int iFlags );
+ unsigned int GetMannVsMachineWaveClassFlags( int nIndex ) { return m_nMannVsMachineWaveClassFlags[ nIndex ]; }
+
+ void SetFlagCarrierUpgradeLevel( int nLevel ){ m_nFlagCarrierUpgradeLevel = nLevel; }
+ int GetFlagCarrierUpgradeLevel( void ){ return m_nFlagCarrierUpgradeLevel; }
+ void SetBaseMvMBombUpgradeTime( float nTime ){ m_flMvMBaseBombUpgradeTime = nTime; }
+ float GetBaseMvMBombUpgradeTime( void ){ return m_flMvMBaseBombUpgradeTime; }
+ void SetNextMvMBombUpgradeTime( float nTime ){ m_flMvMNextBombUpgradeTime = nTime; }
+ float GetNextMvMBombUpgradeTime( void ) { return m_flMvMNextBombUpgradeTime; }
+
+ void SetMannVsMachineChallengeIndex( int iIndex ) { m_iChallengeIndex = iIndex; }
+ int GetMannVsMachineChallengeIndex( void ) { return m_iChallengeIndex; }
+ void SetMvMPopfileName( string_t iszMvMPopfileName ) { m_iszMvMPopfileName = iszMvMPopfileName; }
+ string_t GetMvMPopfileName( void ) const { return m_iszMvMPopfileName.Get(); }
+
+ void SetMannVsMachineEventPopfileType( int nType ){ m_nMvMEventPopfileType.Set( nType ); }
+
+ string_t GetTeleporterString() const { return m_teleporterString; }
+
+private:
+ CNetworkVar( int, m_nMannVsMachineMaxWaveCount );
+ CNetworkVar( int, m_nMannVsMachineWaveCount );
+ CNetworkVar( int, m_nMannVsMachineWaveEnemyCount );
+
+ CNetworkVar( int, m_nMvMWorldMoney );
+
+ CNetworkVar( float, m_flMannVsMachineNextWaveTime );
+ CNetworkVar( bool, m_bMannVsMachineBetweenWaves );
+
+ CNetworkArray( int, m_nMannVsMachineWaveClassCounts, MVM_CLASS_TYPES_PER_WAVE_MAX );
+ CNetworkArray( int, m_nMannVsMachineWaveClassCounts2, MVM_CLASS_TYPES_PER_WAVE_MAX );
+ CNetworkArray( string_t, m_iszMannVsMachineWaveClassNames, MVM_CLASS_TYPES_PER_WAVE_MAX );
+ CNetworkArray( string_t, m_iszMannVsMachineWaveClassNames2, MVM_CLASS_TYPES_PER_WAVE_MAX );
+ CNetworkArray( unsigned int, m_nMannVsMachineWaveClassFlags, MVM_CLASS_TYPES_PER_WAVE_MAX );
+ CNetworkArray( unsigned int, m_nMannVsMachineWaveClassFlags2, MVM_CLASS_TYPES_PER_WAVE_MAX );
+ CNetworkArray( bool, m_bMannVsMachineWaveClassActive, MVM_CLASS_TYPES_PER_WAVE_MAX );
+ CNetworkArray( bool, m_bMannVsMachineWaveClassActive2, MVM_CLASS_TYPES_PER_WAVE_MAX );
+
+ CNetworkVar( int, m_nFlagCarrierUpgradeLevel );
+ CNetworkVar( float, m_flMvMBaseBombUpgradeTime );
+ CNetworkVar( float, m_flMvMNextBombUpgradeTime );
+
+ CNetworkVar( int, m_iChallengeIndex );
+ CNetworkVar( string_t, m_iszMvMPopfileName ) ;
+ CNetworkVar( int, m_nMvMEventPopfileType );
+
+ string_t m_teleporterString;
+};
+
+inline CTFObjectiveResource *TFObjectiveResource()
+{
+ return static_cast< CTFObjectiveResource *>( g_pObjectiveResource );
+}
+
+#endif // TF_OBJECTIVE_RESOURCE_H
+