diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/server/tf/tf_objective_resource.h | |
| download | archived-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.h | 109 |
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 + |