//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: CTF Spawn Point. // //=============================================================================// #ifndef ENTITY_TFSTART_H #define ENTITY_TFSTART_H #ifdef _WIN32 #pragma once #endif class CTeamControlPoint; class CTeamControlPointRound; //============================================================================= // // TF team spawning entity. // enum PlayerTeamSpawnMode_t { PlayerTeamSpawnMode_Normal = 0, PlayerTeamSpawnMode_Triggered = 1, }; enum PlayerTeamSpawn_MatchSummary_t { PlayerTeamSpawn_MatchSummary_None = 0, PlayerTeamSpawn_MatchSummary_Loser = 1, PlayerTeamSpawn_MatchSummary_Winner = 2, }; DECLARE_AUTO_LIST( ITFTeamSpawnAutoList ); class CTFTeamSpawn : public CPointEntity, public ITFTeamSpawnAutoList { public: DECLARE_CLASS( CTFTeamSpawn, CPointEntity ); CTFTeamSpawn(); void Activate( void ); bool IsDisabled( void ) { return m_bDisabled; } void SetDisabled( bool bDisabled ) { m_bDisabled = bDisabled; } PlayerTeamSpawnMode_t GetTeamSpawnMode( void ) { return m_nSpawnMode; } // Inputs/Outputs. void InputEnable( inputdata_t &inputdata ); void InputDisable( inputdata_t &inputdata ); void InputRoundSpawn( inputdata_t &inputdata ); int DrawDebugTextOverlays(void); CHandle GetControlPoint( void ) { return m_hControlPoint; } CHandle GetRoundBlueSpawn( void ) { return m_hRoundBlueSpawn; } CHandle GetRoundRedSpawn( void ) { return m_hRoundRedSpawn; } PlayerTeamSpawn_MatchSummary_t GetMatchSummaryType( void ){ return m_nMatchSummaryType; } bool AlreadyUsedForMatchSummary( void ){ return m_bAlreadyUsedForMatchSummary; } void SetAlreadyUsedForMatchSummary( void ){ m_bAlreadyUsedForMatchSummary = true; } private: bool m_bDisabled; // Enabled/Disabled? PlayerTeamSpawnMode_t m_nSpawnMode; // How are players allowed to spawn here? string_t m_iszControlPointName; string_t m_iszRoundBlueSpawn; string_t m_iszRoundRedSpawn; CHandle m_hControlPoint; CHandle m_hRoundBlueSpawn; CHandle m_hRoundRedSpawn; PlayerTeamSpawn_MatchSummary_t m_nMatchSummaryType; // is this a spawn location for a match summary? bool m_bAlreadyUsedForMatchSummary; DECLARE_DATADESC(); }; #endif // ENTITY_TFSTART_H