#include "baseentity.h" #include "baseplayer.h" #include "engine.h" #include "tier1/utlvector.h" CUtlVector g_PlayerStarts = {}; void CPlayerStart::Precache() { } void CPlayerStart::Spawn() { g_PlayerStarts.AppendTail(this); }; void CPlayerStart::ReadParameter( const char *szName, const char *szValue ) { CBaseEntity::ReadParameter(szName, szValue); } void CPlayerStart::Destroy() { uint32_t i = 0; for (auto &start: g_PlayerStarts) { if (start == this) { g_PlayerStarts.RemoveAt(i); break; } i++; } } void CPlayerStart::Think( float fDelta ) { } void CPlayerStart::RoundEnd( void ) { m_bIsRunning = false; } void CPlayerStart::RoundStart(IIClient *pClient) { IIEngine::DestroyEntity(pOwningPlayer); if (!pClient) return; m_bIsRunning = true; pOwningPlayer = (CBasePlayer*)IIEngine::SpawnEntity("player"); if (pOwningPlayer) { pOwningPlayer->pOwningSpawn = this; pOwningPlayer->SetPosition(m_position); } else V_printf("Failed to spawn player\n"); IIEngine::InitEntity(pOwningPlayer); pClient->pBasePlayer = pOwningPlayer; }; void CPlayerStart::SendToServer() { }; void CPlayerStart::RecieveFromServer( void *pData, uint32_t nDataSize ) { }; DECLARE_ENTITY(info_player_start, CPlayerStart);