CGameServer::~CGameServer() { GameNetwork()->SetCallbacks(NULL, NULL, NULL, NULL); if (m_pWorkListener) m_pWorkListener->BeginProgress(); if (m_pWorkListener) m_pWorkListener->SetAction("Scrubbing database", CBaseEntity::GetEntityRegistration().size()); DestroyAllEntities(tvector<tstring>()); GamePhysics()->RemoveAllEntities(); for (size_t i = 0; i < m_apLevels.size(); i++) m_apLevels[i].reset(); if (m_pCameraManager) delete m_pCameraManager; if (m_pWorkListener) m_pWorkListener->EndProgress(); TAssert(s_pGameServer == this); s_pGameServer = NULL; }
void CGameServer::Initialize() { if (m_pWorkListener) m_pWorkListener->BeginProgress(); m_bGotClientInfo = false; m_bLoading = true; TMsg("Initializing game server\n"); ReadLevels(); GameNetwork()->ClearRegisteredFunctions(); RegisterNetworkFunctions(); DestroyAllEntities(tvector<tstring>(), true); CParticleSystemLibrary::ClearInstances(); if (!m_pCameraManager) m_pCameraManager = new CCameraManager(); if (m_pWorkListener) m_pWorkListener->EndProgress(); if (m_pWorkListener) m_pWorkListener->SetAction("Pending network actions", 0); }
void CGameServer::RestartLevel() { SetLoading(false); AllowPrecaches(); DestroyAllEntities(tvector<tstring>(), true); m_bRestartLevel = true; Game()->SetupGame(CVar::GetCVarValue("game_mode")); m_bRestartLevel = false; SetLoading(false); }
// Destructor removes all entities CEntityManager::~CEntityManager() { DestroyAllEntities(); }
VIRTUAL void EntityPlugin::Exit() { DestroyAllEntities(); }