コード例 #1
0
ファイル: sceneeditorapp.cpp プロジェクト: edvorg/cpp-drash
    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);
    }
コード例 #2
0
ファイル: sceneeditorapp.cpp プロジェクト: edvorg/cpp-drash
 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;
 }
コード例 #3
0
ファイル: sceneeditorapp.cpp プロジェクト: edvorg/cpp-drash
    void SceneEditorApp::StartCurrentLevel() {
        if (currentLevel != nullptr) {
            if (paused == false) {
                GetLevelManager().StartLevel(currentLevel);
            }

            playLevel = true;
            selectedObject = nullptr;
        }
    }
コード例 #4
0
// 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);
}
コード例 #5
0
// 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();
	}
}
コード例 #6
0
ファイル: sceneeditorapp.cpp プロジェクト: edvorg/cpp-drash
 void SceneEditorApp::ResetLevel() {
     if (currentLevel != nullptr) {
         GetLevelManager().StartLevel(currentLevel);
         paused = false;
     }
 }