/// <summary>
 /// Finds out if a gamepad button has been pressed.
 /// </summary>
 /// <param name="button">The button to check.</param>
 /// <returns>The result of the check.</returns>
 public static bool IsButtonStroked(ControlPadBtns button)
 {
     if (gamePad != null)
     {
         return(gamePad.IsPadStroked(button));
     }
     else
     {
         return(false);
     }
 }
Beispiel #2
0
        /// <summary>
        /// A check to see if a button on the game pad has been pressed.
        /// </summary>
        /// <param name="button">The button to check.</param>
        /// <returns>Th result of the check.</returns>
        public bool IsPadStroked(ControlPadBtns button)
        {
            switch (button)
            {
            case ControlPadBtns.LeftThumbStickUp:
                return(IsThumbStickUpStroked(TriggersIdx.Left));

            case ControlPadBtns.LeftThumbStickDown:
                return(IsThumbStickDownStroked(TriggersIdx.Left));

            case ControlPadBtns.LeftThumbStickLeft:
                return(IsThumbStickLeftStroked(TriggersIdx.Left));

            case ControlPadBtns.LeftThumbStickRight:
                return(IsThumbStickRightStroked(TriggersIdx.Left));

            case ControlPadBtns.RightThumbStickUp:
                return(IsThumbStickUpStroked(TriggersIdx.Right));

            case ControlPadBtns.RightThumbStickDown:
                return(IsThumbStickDownStroked(TriggersIdx.Right));

            case ControlPadBtns.RightThumbStickLeft:
                return(IsThumbStickLeftStroked(TriggersIdx.Right));

            case ControlPadBtns.RightThumbStickRight:
                return(IsThumbStickRightStroked(TriggersIdx.Right));

            case ControlPadBtns.LeftTrigger:
                return(IsTriggerStroked(TriggersIdx.Left));

            case ControlPadBtns.RightTrigger:
                return(IsTriggerStroked(TriggersIdx.Right));
            }
            ;

            return(!IsPadStateEquals(prevState, button, ButtonState.Pressed) &&
                   IsPadPressed(button));
        }
Beispiel #3
0
 /// <summary>
 /// A check to see if a button on the game pad has been pressed.
 /// </summary>
 /// <param name="button">The button to check.</param>
 /// <returns>Th result of the check.</returns>
 public bool IsPadReleased(ControlPadBtns button)
 {
     return(IsPadStateEquals(currentState, button, ButtonState.Released));
 }
Beispiel #4
0
        bool IsPadStateEquals(GamePadState targetState, ControlPadBtns pad, ButtonState state)
        {
            switch (pad)
            {
            case ControlPadBtns.Start:
                return(targetState.Buttons.Start == state);

            case ControlPadBtns.Back:
                return(targetState.Buttons.Back == state);

            case ControlPadBtns.Guide:
                return(targetState.Buttons.BigButton == state);

            case ControlPadBtns.A:
                return(targetState.Buttons.A == state);

            case ControlPadBtns.B:
                return(targetState.Buttons.B == state);

            case ControlPadBtns.X:
                return(targetState.Buttons.X == state);

            case ControlPadBtns.Y:
                return(targetState.Buttons.Y == state);

            case ControlPadBtns.LeftShoulder:
                return(targetState.Buttons.LeftShoulder == state);

            case ControlPadBtns.LeftStick:
                return(targetState.Buttons.LeftStick == state);

            case ControlPadBtns.RightShoulder:
                return(targetState.Buttons.RightShoulder == state);

            case ControlPadBtns.RightStick:
                return(targetState.Buttons.RightStick == state);

            case ControlPadBtns.LeftPad:
                return(targetState.DPad.Left == state);

            case ControlPadBtns.RightPad:
                return(targetState.DPad.Right == state);

            case ControlPadBtns.UpPad:
                return(targetState.DPad.Up == state);

            case ControlPadBtns.DownPad:
                return(targetState.DPad.Down == state);

            case ControlPadBtns.LeftTrigger:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetPadTriggerValue(TriggersIdx.Left) > 0.0f);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetPadTriggerValue(TriggersIdx.Left) == 0.0f);
                }

                return(false);
            }

            case ControlPadBtns.RightTrigger:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetPadTriggerValue(TriggersIdx.Right) > 0.0f);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetPadTriggerValue(TriggersIdx.Right) == 0.0f);
                }

                return(false);
            }

            case ControlPadBtns.LeftThumbStickUp:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetThumbStickAmount(TriggersIdx.Left).Y > controllerSensitivity);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetThumbStickAmount(TriggersIdx.Left).Y == controllerSensitivity);
                }

                return(false);
            }

            case ControlPadBtns.LeftThumbStickDown:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetThumbStickAmount(TriggersIdx.Left).Y < -controllerSensitivity);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetThumbStickAmount(TriggersIdx.Left).Y == -controllerSensitivity);
                }

                return(false);
            }

            case ControlPadBtns.LeftThumbStickLeft:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetThumbStickAmount(TriggersIdx.Left).X < -controllerSensitivity);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetThumbStickAmount(TriggersIdx.Left).X == -controllerSensitivity);
                }

                return(false);
            }

            case ControlPadBtns.LeftThumbStickRight:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetThumbStickAmount(TriggersIdx.Left).X > controllerSensitivity);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetThumbStickAmount(TriggersIdx.Left).X == controllerSensitivity);
                }

                return(false);
            }

            case ControlPadBtns.RightThumbStickUp:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetThumbStickAmount(TriggersIdx.Right).Y > controllerSensitivity);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetThumbStickAmount(TriggersIdx.Right).Y == controllerSensitivity);
                }

                return(false);
            }

            case ControlPadBtns.RightThumbStickDown:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetThumbStickAmount(TriggersIdx.Right).Y < -controllerSensitivity);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetThumbStickAmount(TriggersIdx.Right).Y == -controllerSensitivity);
                }

                return(false);
            }

            case ControlPadBtns.RightThumbStickLeft:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetThumbStickAmount(TriggersIdx.Right).X < -controllerSensitivity);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetThumbStickAmount(TriggersIdx.Right).Y == -controllerSensitivity);
                }

                return(false);
            }

            case ControlPadBtns.RightThumbStickRight:
            {
                if (state == ButtonState.Pressed)
                {
                    return(GetThumbStickAmount(TriggersIdx.Right).X > controllerSensitivity);
                }
                else if (state == ButtonState.Released)
                {
                    return(GetThumbStickAmount(TriggersIdx.Right).Y == controllerSensitivity);
                }

                return(false);
            }

            default: return(false);
            }
        }