public DeviceInput GetPressedInput() { State state; if (!_controller.GetState(out state)) { return(null); } Gamepad gamepad = state.Gamepad; DeviceInput pressedInput; if (_buttonInputs.TryGetValue(gamepad.Buttons, out pressedInput)) { return(pressedInput); } foreach (AxisDeviceInput axisInput in _axisInputs) { if (XInputController.IsAxisPressed(axisInput.Axis, gamepad)) { return(axisInput.DeviceInput); } } return(null); }
protected bool TryGetGamepad(out Gamepad gamepad) { State state; if (_controller.GetState(out state)) { gamepad = state.Gamepad; return(true); } gamepad = default(Gamepad); return(false); }