示例#1
0
        protected override void Update(GameTime gameTime)
        {
            //Final Updates
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            //gamestate switch
            switch (GameManager.gameState)
            {
            case GameState.MainMenu:
                Camera.UpdateMainMenu(gameTime);
                //MapHandler.Update(gameTime);
                MapHandler.UpdateMainMenu(gameTime);
                //GUI.UpdateMainMenu(cursor.boundingBox);
                GUI.UpdateMainMenu(cursor.spriteBox);
                break;

            case GameState.Pause:
                break;

            case GameState.GameplayLoop:     //normal gameplay
                MapHandler.Update(gameTime);
                PlayerManager.Update(gameTime);
                Camera.Update();
                GUI.Update();
                break;

            case GameState.Combat:     //in combat
                break;

            case GameState.NewGame:
                GUI.UpdateNewGameMenu(cursor.spriteBox);
                break;

            default:
                break;
            }

            cursor.Update(gameTime); //independent of gamestate

            //testing updates
            if (Keyboard.GetState().IsKeyDown(Keys.P))
            {
                SaveGame();
            }
            if (Keyboard.GetState().IsKeyDown(Keys.O))
            {
                LoadGame();
            }
            //Console.WriteLine(ConsoleOutput); // uncomment after text implemented

            base.Update(gameTime);
        }