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(); } } }
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; }
/// <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(); } }