コード例 #1
0
ファイル: Game.cs プロジェクト: ngaeta/Crash-Bandicoot-2D
        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();
            }
        }