public override void HandleInput(GameTime gameTime, InputState inputState)
        {
            KeyboardState keyboardState = inputState.CurrentKeyboardState;
            KeyboardState lastKeyboardState = inputState.LastKeyboardState;

            level.Update(gameTime, inputState);

            //Debug.WriteLine(level.Player.Position.X.ToString());

            if (keyboardState.IsKeyDown(Keys.Escape) && !lastKeyboardState.IsKeyDown(Keys.Escape))
            {
                MessageBoxScreen quitMsgBoxScreen = new MessageBoxScreen("Sure you want to quit?");
                quitMsgBoxScreen.Accepted += QuitAccepted;
                quitMsgBoxScreen.Cancelled += QuitCancelled;
                ScreenManager.AddScreen(quitMsgBoxScreen);
            }

            bool continuePressed = keyboardState.IsKeyDown(Keys.Space) || keyboardState.IsKeyDown(Keys.W) || keyboardState.IsKeyDown(Keys.Up)
                || inputState.IsLeftMouseButtonPressed();

            if (!wasContinuePressed && continuePressed)
            {
                if (!level.Player.IsAlive)
                    level.StartNewLife();
                else if (level.TimeRemaining == TimeSpan.Zero)
                {
                    if (level.ReachedExit)
                    {
                        ScreenManager.RemoveScreen(this);
                        MessageBoxScreen linkMsgBoxScreen = new MessageBoxScreen("If you wanna learn more about this topic:");
                        linkMsgBoxScreen.Link += LinkToWebPage;
                        ScreenManager.AddScreen(new BackgroundScreen());
                        ScreenManager.AddScreen(new MainMenuScreen());
                        ScreenManager.AddScreen(linkMsgBoxScreen);
                    }
                    else
                        ReloadCurrentLevel();
                }
            }
            wasContinuePressed = continuePressed;
        }
Beispiel #2
0
        public void GetInput(InputState inputState)
        {
            if (Math.Abs(movement) < 0.5f)
                movement = 0.0f;

            if (inputState.CurrentKeyboardState.IsKeyDown(Keys.A) || inputState.CurrentKeyboardState.IsKeyDown(Keys.Left))
                movement = -1.0f;
            else if (inputState.CurrentKeyboardState.IsKeyDown(Keys.D) || inputState.CurrentKeyboardState.IsKeyDown(Keys.Right))
                movement = 1.0f;

            isJumping = inputState.CurrentKeyboardState.IsKeyDown(Keys.Space) || inputState.CurrentKeyboardState.IsKeyDown(Keys.W)
                || inputState.CurrentKeyboardState.IsKeyDown(Keys.Up) || inputState.IsLeftMouseButtonPressed();
        }