public bool GetState(TBXInputButton button, GamepadReading gamepadState) { switch (button) { case TBXInputButton.ButtonA: return(GamepadButtons.A == (gamepadState.Buttons & GamepadButtons.A)); case TBXInputButton.ButtonB: return(GamepadButtons.B == (gamepadState.Buttons & GamepadButtons.B)); case TBXInputButton.ButtonX: return(GamepadButtons.X == (gamepadState.Buttons & GamepadButtons.X)); case TBXInputButton.ButtonY: return(GamepadButtons.Y == (gamepadState.Buttons & GamepadButtons.Y)); case TBXInputButton.LeftStick: return(GamepadButtons.LeftThumbstick == (gamepadState.Buttons & GamepadButtons.LeftThumbstick)); case TBXInputButton.RightStick: return(GamepadButtons.RightThumbstick == (gamepadState.Buttons & GamepadButtons.RightThumbstick)); case TBXInputButton.DpadUp: return(GamepadButtons.DPadUp == (gamepadState.Buttons & GamepadButtons.DPadUp)); case TBXInputButton.DpadRight: return(GamepadButtons.DPadRight == (gamepadState.Buttons & GamepadButtons.DPadRight)); case TBXInputButton.DpadDown: return(GamepadButtons.DPadDown == (gamepadState.Buttons & GamepadButtons.DPadDown)); case TBXInputButton.DpadLeft: return(GamepadButtons.DPadLeft == (gamepadState.Buttons & GamepadButtons.DPadLeft)); case TBXInputButton.Back: return(GamepadButtons.View == (gamepadState.Buttons & GamepadButtons.View)); case TBXInputButton.Start: return(GamepadButtons.Menu == (gamepadState.Buttons & GamepadButtons.Menu)); case TBXInputButton.RightBumper: return(GamepadButtons.RightShoulder == (gamepadState.Buttons & GamepadButtons.RightShoulder)); case TBXInputButton.LeftBumper: return(GamepadButtons.LeftShoulder == (gamepadState.Buttons & GamepadButtons.LeftShoulder)); case TBXInputButton.LeftTrigger: return(gamepadState.LeftTrigger > 0); case TBXInputButton.RightTrigger: return(gamepadState.RightTrigger > 0); default: TBLogging.LogWarning("Could not find requested Windows Input type."); return(false); } }
public override bool ResolveButton(TBXInputButton button, TBInput.Controller controller) { if (GetState(button, _reading)) { return(true); } else { return(false); } }
public override bool ResolveButton(TBXInputButton button, TBInput.Controller controller) { if (GetState(button, _state) == ButtonState.Pressed) { return(true); } else { return(false); } }
public override Vector2 ResolveAxis2D(TBXInputButton button, TBInput.Controller controller) { switch (button) { case TBXInputButton.LeftStick: return(new Vector2((float)_reading.LeftThumbstickX, (float)_reading.LeftThumbstickY)); case TBXInputButton.RightStick: return(new Vector2((float)_reading.RightThumbstickX, (float)_reading.RightThumbstickY)); default: return(Vector2.zero); } }
public override float ResolveAxis1D(TBXInputButton button, TBInput.Controller controller) { switch (button) { case TBXInputButton.LeftTrigger: return((float)_reading.LeftTrigger); case TBXInputButton.RightTrigger: return((float)_reading.RightTrigger); default: return(0); } }
public override Vector2 ResolveAxis2D(TBXInputButton button, TBInput.Controller controller) { switch (button) { case TBXInputButton.LeftStick: return(new Vector2(_state.ThumbSticks.Left.X, _state.ThumbSticks.Left.Y)); case TBXInputButton.RightStick: return(new Vector2(_state.ThumbSticks.Right.X, _state.ThumbSticks.Right.Y)); default: return(Vector2.zero); } }
public override float ResolveAxis1D(TBXInputButton button, TBInput.Controller controller) { switch (button) { case TBXInputButton.LeftTrigger: return(_state.Triggers.Left); case TBXInputButton.RightTrigger: return(_state.Triggers.Right); default: return(0); } }
public ButtonState GetState(TBXInputButton button, GamePadState gamepadState) { switch (button) { case TBXInputButton.ButtonA: return(gamepadState.Buttons.A); case TBXInputButton.ButtonB: return(gamepadState.Buttons.B); case TBXInputButton.ButtonX: return(gamepadState.Buttons.X); case TBXInputButton.ButtonY: return(gamepadState.Buttons.Y); case TBXInputButton.LeftStick: return(gamepadState.Buttons.LeftStick); case TBXInputButton.RightStick: return(gamepadState.Buttons.RightStick); case TBXInputButton.DpadUp: return(gamepadState.DPad.Up); case TBXInputButton.DpadRight: return(gamepadState.DPad.Right); case TBXInputButton.DpadDown: return(gamepadState.DPad.Down); case TBXInputButton.DpadLeft: return(gamepadState.DPad.Left); case TBXInputButton.Back: return(gamepadState.Buttons.Back); case TBXInputButton.Guide: return(gamepadState.Buttons.Guide); case TBXInputButton.Start: return(gamepadState.Buttons.Start); case TBXInputButton.RightBumper: return(gamepadState.Buttons.RightShoulder); case TBXInputButton.LeftBumper: return(gamepadState.Buttons.LeftShoulder); case TBXInputButton.LeftTrigger: if (gamepadState.Triggers.Left > 0) { return(ButtonState.Pressed); } else { return(ButtonState.Released); } case TBXInputButton.RightTrigger: if (gamepadState.Triggers.Right > 0) { return(ButtonState.Pressed); } else { return(ButtonState.Released); } default: TBLogging.LogWarning("Could not find requested XInput type."); return(ButtonState.Released); } }