예제 #1
0
        protected override void Update(GameTime gameTime)
        {
            base.Update(gameTime);
            Input.Update(gameTime);

            switch (_gameState)
            {
            case GameStateEnum.Game:
                if (Input.GetInput(Inputs.QuickLoad, InputState.Pressed))
                {
                    if (LoadSession("quicksave.sav"))
                    {
                        Hud.Chat("Loading from quick save");
                        return;
                    }
                }
                else if (Input.GetInput(Inputs.QuickSave, InputState.Pressed))
                {
                    SaveSession("quicksave.sav");
                    Hud.Chat("Quick saving...");
                }

                if (Session != null)
                {
                    Session.Update(gameTime);
                }

                Hud.Update(gameTime);


                if (Input.GetInput(Inputs.Pause, InputState.Pressed))
                {
                    var g = GuiManager.GetGuiOfType <Gui.MiniMenu>();
                    if (g == null)
                    {
                        GuiManager.Add(new Gui.MiniMenu());
                    }
                    else
                    {
                        g.Closing = true;
                    }
                }

                GuiManager.Update(gameTime);
                break;

            case GameStateEnum.Menu:
                MenuState.Update(gameTime);
                break;

            case GameStateEnum.Intro:
                Intro.Update(gameTime);
                break;
            }

            Console.Update(gameTime);
        }