75 lines
1.2 KiB
C++
75 lines
1.2 KiB
C++
#include "baseentity.h"
|
|
#include "baseplayer.h"
|
|
#include "engine.h"
|
|
#include "tier1/utlvector.h"
|
|
|
|
|
|
CUtlVector<CPlayerStart*> 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);
|