Example #1
0
        private bool HandlePlayerInput(InputState input, PlayerIndex playerIndex)
        {
            KeyboardState keyboardState = input.CurrentKeyboardStates[(int)playerIndex];
            GamePadState gamePadState = input.CurrentGamePadStates[(int)playerIndex];

            bool gamePadDisconnected = !gamePadState.IsConnected &&
                                      input.GamePadWasConnected[(int)playerIndex];

            if (input.IsPauseGame(playerIndex) || gamePadDisconnected)
            {
                ScreenManager.AddScreen(new PauseMenuScreen(), playerIndex);
                return false;
            }

            if (keyboardState.IsKeyDown(Keys.Left))
                GameController.Player.GoLeft(1.0);

            if (keyboardState.IsKeyDown(Keys.Right))
                GameController.Player.GoRight(1.0);

            if (keyboardState.IsKeyDown(Keys.Up))
                GameController.Player.GoUp(1.0);

            if (keyboardState.IsKeyDown(Keys.Down))
                GameController.Player.GoDown(1.0);

             if (keyboardState.IsKeyDown(Keys.Space) || gamePadState.Triggers.Right > 0.1)
                 gameController.AddBullet();

            if (keyboardState.IsKeyDown(Keys.Q) && !oldState.IsKeyDown(Keys.Q)
                || gamePadState.Buttons.LeftShoulder == ButtonState.Pressed && oldPadState.Buttons.LeftShoulder != ButtonState.Pressed)
            {
                gameController.WeaponDown();
            }
            if (keyboardState.IsKeyDown(Keys.E) && !oldState.IsKeyDown(Keys.E)
                || gamePadState.Buttons.RightShoulder == ButtonState.Pressed && oldPadState.Buttons.RightShoulder != ButtonState.Pressed)
            {
                gameController.WeaponUp();
            }
            if (keyboardState.IsKeyDown(Keys.LeftControl) && !oldState.IsKeyDown(Keys.LeftControl)
                || gamePadState.Buttons.Y == ButtonState.Pressed && oldPadState.Buttons.Y != ButtonState.Pressed)
            {
                GameController.Player.ShieldOn = !GameController.Player.ShieldOn;
            }
            if (keyboardState.IsKeyDown(Keys.D1)) gameController.SetChoosenWeapon(1);
            if (keyboardState.IsKeyDown(Keys.D2)) gameController.SetChoosenWeapon(2);
            if (keyboardState.IsKeyDown(Keys.D3)) gameController.SetChoosenWeapon(3);
            if (keyboardState.IsKeyDown(Keys.D4)) gameController.SetChoosenWeapon(4);
            if (keyboardState.IsKeyDown(Keys.D5)) gameController.SetChoosenWeapon(5);
            if (keyboardState.IsKeyDown(Keys.D6)) gameController.SetChoosenWeapon(6);

            if (keyboardState.IsKeyDown(Keys.U) && !oldState.IsKeyDown(Keys.U))
            {
                paused = !paused;
            }

            if (keyboardState.IsKeyDown(Keys.LeftShift) ||
                    gamePadState.Buttons.X == ButtonState.Pressed)
            {
                GameController.Player.Boost(true);
            }
            else
            {
                GameController.Player.Boost(false);
            }

            Vector2 thumbstick = gamePadState.ThumbSticks.Left;
            if (thumbstick.X < -0.1)
            {
                GameController.Player.GoLeft(1.0);//thumbstick.X);
            }
             if (thumbstick.X > 0.1)
            {
                GameController.Player.GoRight(1.0);//thumbstick.X);
            }
            if (thumbstick.Y < -0.1)
            {
                GameController.Player.GoDown(1.0);//thumbstick.Y);
            }
             if (thumbstick.Y > 0.1)
            {
                GameController.Player.GoUp(1.0);//thumbstick.Y);
            }

            //     System.Diagnostics.Debug.WriteLine(thumbstick.X);
            oldState = keyboardState;
            oldPadState = gamePadState;
            return true;
        }