Beispiel #1
0
void GameCore::Update(float32 timeElapsed)
{
	ApplicationCore::Update(timeElapsed);
	
	if(!appFinished)
    {
		Test *curTest = tests.front();
        if(curTest->IsFinished())
        {
			if(resultScreen == NULL)
            {
				resultScreen = new ResultScreen(curTest->GetLandscapeTestData(),
												curTest->GetFileName(),
												curTest->GetLandscapeTexture());
                
				UIScreenManager::Instance()->RegisterScreen(RESULT_SCREEN, resultScreen);
                UIScreenManager::Instance()->SetScreen(RESULT_SCREEN);
			}
			
			if(resultScreen->IsFinished())
            {
				tests.pop_front();

				if(tests.size() == 0)
                {
					appFinished = true;
				}
                else
                {
                    SafeRelease(resultScreen);
					Test *newCurTest = tests.front();
					if(newCurTest != NULL)
                    {
						UIScreenManager::Instance()->SetScreen(newCurTest->GetScreenId());
					}
				}

				SafeRelease(curTest);
			}
		}
	}
    else
    {
		Core::Instance()->Quit();
	}
}