You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
4.9 KiB
109 lines
4.9 KiB
//========= 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 |
|
|
|
|