protected override void UpdateWorld()
        {
            keyboard.update();
            MouseDevice.Update();


            if (state == GameState.Normal)
            {
                GameObjects.update();
                update();

                if (keyboard.isKeyTapped(Keys.Escape))
                {
                    state = GameState.Paused;
                    GameObjects.pause();
                    PlayBackgroundAudio(backgroundMusic, 0);
                }

                if (keyboard.isKeyTapped(Keys.F1))
                {
                    setDebugMode(!getDebugMode());
                }
            }
            else if (state == GameState.Gameover || state == GameState.Win)
            {
                if (endScreen.readyToReplay())
                {
                    GameObjects.destroy();
                    allDecorations.destroy();
                    InitializeWorld();
                }
                else
                {
                    endScreen.update();
                }
            }
            else if (state == GameState.Paused)
            {
                if (keyboard.isKeyTapped(Keys.Escape))
                {
                    state = GameState.Normal;
                    GameObjects.resume();
                    PlayBackgroundAudio(backgroundMusic, gameVolume);
                }
            }
            else if (state == GameState.StartScreen)
            {
                if (startScreen.isReady())
                {
                    initializeGame();
                }
                else
                {
                    startScreen.update();
                }
            }
        }
Beispiel #2
0
        public void Update(GameTime gameTime)
        {
            // Update mouse
            _mouseDevice.Update(gameTime);
            Position = _mouseDevice.Position;
            Clicked  = _mouseDevice.Clicked;

            // Update keyboard
            _keyboardDevice.Update(gameTime);
            Reset   = _keyboardDevice.Reset;
            Menu    = _keyboardDevice.Menu;
            Refresh = _keyboardDevice.Refresh;
        }
Beispiel #3
0
        /// <summary>
        /// ユーザ入力を処理します。
        /// </summary>
        void ProcessInput()
        {
            // MouseDevice を更新します。
            mouseDevice.Update();
            // KeyboardDevice を更新します。
            keyboardDevice.Update();

            // マウス カーソルが移動したことを Screen へ通知します。
            if (mouseDevice.MouseMoved)
            {
                screen.ProcessMouseMove();
            }
            // マウス ボタンが押されたことを Screen へ通知します。
            if (mouseDevice.ButtonPressed)
            {
                screen.ProcessMouseDown();
            }
            // マウス ボタンが離されたことを Screen へ通知します。
            if (mouseDevice.ButtonReleased)
            {
                screen.ProcessMouseUp();
            }
            // マウス ホイールが回転したことを Screen へ通知します。
            if (mouseDevice.WheelScrolled)
            {
                screen.ProcessMouseWheel();
            }

            // キーが押されたことを Screen へ通知します。
            if (keyboardDevice.KeyPressed)
            {
                screen.ProcessKeyDown();
            }
            // キーが離されたことを Screen へ通知します。
            if (keyboardDevice.KeyReleased)
            {
                screen.ProcessKeyUp();
            }
        }