void OnButtonReleased(XInput.Button button, int playerIndex) { if (this.button == button && this.playerIndex == playerIndex) { imgComponent.sprite = normalSprite; } }
void OnButtonPressed(XInput.Button button, int playerIndex) { if (this.button == button && this.playerIndex == playerIndex) { imgComponent.sprite = pressedSprite; } }
private bool IsButtonPressedOrReleased(XInput.Button button, ButtonState prevButtonState, ButtonState buttonState) { switch (button) { case XInput.Button.A: return(prevState.Buttons.A == prevButtonState && state.Buttons.A == buttonState); case XInput.Button.B: return(prevState.Buttons.B == prevButtonState && state.Buttons.B == buttonState); case XInput.Button.Back: return(prevState.Buttons.Back == prevButtonState && state.Buttons.Back == buttonState); case XInput.Button.Guide: return(prevState.Buttons.Guide == prevButtonState && state.Buttons.Guide == buttonState); case XInput.Button.LeftShoulder: return(prevState.Buttons.LeftShoulder == prevButtonState && state.Buttons.LeftShoulder == buttonState); case XInput.Button.LeftStick: return(prevState.Buttons.LeftStick == prevButtonState && state.Buttons.LeftStick == buttonState); case XInput.Button.RightShoulder: return(prevState.Buttons.RightShoulder == prevButtonState && state.Buttons.RightShoulder == buttonState); case XInput.Button.RightStick: return(prevState.Buttons.RightStick == prevButtonState && state.Buttons.RightStick == buttonState); case XInput.Button.Start: return(prevState.Buttons.Start == prevButtonState && state.Buttons.Start == buttonState); case XInput.Button.X: return(prevState.Buttons.X == prevButtonState && state.Buttons.X == buttonState); case XInput.Button.Y: return(prevState.Buttons.Y == prevButtonState && state.Buttons.Y == buttonState); case XInput.Button.DPadUp: return(prevState.DPad.Up == prevButtonState && state.DPad.Up == buttonState); case XInput.Button.DPadDown: return(prevState.DPad.Down == prevButtonState && state.DPad.Down == buttonState); case XInput.Button.DPadLeft: return(prevState.DPad.Left == prevButtonState && state.DPad.Left == buttonState); case XInput.Button.DPadRight: return(prevState.DPad.Right == prevButtonState && state.DPad.Right == buttonState); default: return(false); } }
public XInputButton(XInput.Button id) { _id = id; }
public static InputSource XInputButton(XInput.Button id) { return(new InputSource(Peripheral.XInputGamepad, InputType.Button, new Interactable.XInputButton(id))); }
public bool ButtonReleased(XInput.Button button) { return(IsButtonPressedOrReleased(button, ButtonState.Pressed, ButtonState.Released)); }