bool SceneEditorApp::LoadLevel(const std::string& _filename) { if (currentLevel != nullptr) { GetLevelManager().DestroyLevel(currentLevel); currentLevel = nullptr; } selectedObject = nullptr; currentLevel = GetLevelManager().CreateLevel(); if (currentLevel == nullptr) { return false; } if (currentLevel->Load(_filename) == false) { return false; } fileNameLevel = _filename; treeRefreshHandler(); GetLevelManager().StartLevel(currentLevel); playLevel = false; return true; // GetLevelManager().StartLevel(level); }
bool SceneEditorApp::NewLevel() { selectedObject = nullptr; if (currentLevel != nullptr) { GetLevelManager().DestroyLevel(currentLevel); } currentLevel = GetLevelManager().CreateLevel(); if (currentLevel == nullptr) { return false; } GetLevelManager().StartLevel(currentLevel); fileNameLevel = ""; return true; }
void SceneEditorApp::StartCurrentLevel() { if (currentLevel != nullptr) { if (paused == false) { GetLevelManager().StartLevel(currentLevel); } playLevel = true; selectedObject = nullptr; } }
// Adding to actor manager event handler. void COGActorPlayer::OnAddedToManager () { COGActorBot::OnAddedToManager(); GetInput()->RegisterReceiver(this); IOGLevel* pCurLevel = GetLevelManager()->GetCurrentLevel(); if (pCurLevel) { m_vFinishPoint = pCurLevel->GetFinishPosition(); } m_FinishWorker.SetTarget(m_vFinishPoint); }
// Update controller void CLoadScreenController::Update (unsigned long _ElapsedTime) { if (!m_bLoaded && m_State == CSTATE_ACTIVE && m_bDisplayed) { OG_LOG_INFO("Loading started"); GetActorParamsMgr()->Init(); OG_LOG_INFO("Actor params manager initialized"); GetLevelManager()->Init(); OG_LOG_INFO("Level manager initialized"); GetResourceMgr()->Load(OG_RESPOOL_GAME); OG_LOG_INFO("Resource managers loaded"); IOGLevelParams* pLevelParams = GetGameSequence()->GetLevel(0); m_pCurLevel = GetLevelManager()->LoadLevel(pLevelParams->alias); if (m_pCurLevel == NULL) { OG_LOG_ERROR("Failed to load level %s", pLevelParams->alias.c_str()); Deactivate(); m_State = CSTATE_FAILED; return; } OG_LOG_INFO("Current level loading finished"); OGVec3 vCraftPos = m_pCurLevel->GetStartPosition(); vCraftPos.y = 80.0f; IOGActor* pPlayerActor = GetActorManager()->CreateActor( std::string(pLevelParams->player_actor), vCraftPos, OGVec3(0,0,0), OGVec3(1,1,1)); pPlayerActor->SetWeapon(GetActorParamsMgr()->GetWeaponParams(pLevelParams->weapon)); GetActorManager()->AddActor(pPlayerActor); OG_LOG_INFO("Player actor added"); m_bLoaded = true; Deactivate(); } }
void SceneEditorApp::ResetLevel() { if (currentLevel != nullptr) { GetLevelManager().StartLevel(currentLevel); paused = false; } }