void CGameServer::LoadLevel(tstring sFile) { CHandle<CLevel> pLevel = GetLevel(sFile); if (pLevel.expired()) return; if (m_bRestartLevel) LoadLevel(pLevel); else { std::basic_ifstream<tchar> f(sFile.c_str()); CData* pData = new CData(); CDataSerializer::Read(f, pData); pLevel->CreateEntitiesFromData(pData); LoadLevel(pLevel); delete pData; } }