//! Loads the level given its path. void LogicEngine::loadLevel(std::string file) { level = new Level(); int status = level->parseXML(file); qDebug() << "Level loaded with: " << status; if(status == 0) { ready = true; } else { unloadLevel(); return; } this->start(); }
void LevelManager::shutdown() { // clean up entity manager EntityManager::get()->shutdown(); if ( GameState::get()->getMode() != GameState::Server ) { // shutdown all other libs managed by level loader SoundManager::get()->shutdown(); GuiManager::get()->shutdown(); } // set game state GameState::get()->setState( GameState::Shutdown ); // unload level unloadLevel( true, true ); Physics::get()->shutdown(); // destroy singleton destroy(); }
//! unloads the level and destroys the object. LogicEngine::~LogicEngine() { if(ready) unloadLevel(); }