public static void Play() { AudioManager.InitClips(); AudioManager.Load(); GfxManager.Load(); Scene logoScene = new LogoScene(); Scene menuScene = new MenuScene(); Scene playScene = new PlayScene(); Scene gameOver = new GameOverScene(); logoScene.NextScene = menuScene; menuScene.NextScene = playScene; playScene.PreviousScene = menuScene; playScene.NextScene = gameOver; gameOver.NextScene = null; CurrScene = logoScene; CurrScene.Start(); while (Window.IsOpened) { //float fps = 1 / Window.deltaTime; //Console.SetCursorPosition(0, 0); //if (fps < 59) // Console.Write((1 / Window.deltaTime) + " "); //Input InputManager.Update(); if (Window.GetKey(KeyCode.Esc)) { break; } if (!CurrScene.IsPlaying) { if (SceneToLoad == SceneLoad.Next) { if (CurrScene.NextScene != null) { CurrScene.OnExit(); CurrScene = CurrScene.NextScene; CurrScene.Start(); } else { return; } } else { if (CurrScene.PreviousScene != null) { CurrScene.OnExit(); CurrScene = CurrScene.PreviousScene; CurrScene.Start(); SceneToLoad = SceneLoad.Next; } else { return; } } } CurrScene.Input(); CurrScene.Update(); CurrScene.Draw(); Window.Update(); } }