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