static void ProcessGamepadButtonEvent(GamepadEventType state, GamepadKeyCode buttonIndex, double id, double value) { GamepadButton buttonToUpdate = GamepadButton.DpadUp; GamepadState gamepadState = GamepadsStates[id]; switch (buttonIndex) { case GamepadKeyCode.dpadUp: buttonToUpdate = GamepadButton.DpadUp; break; case GamepadKeyCode.dpadDown: buttonToUpdate = GamepadButton.DpadDown; break; case GamepadKeyCode.dpadLeft: buttonToUpdate = GamepadButton.DpadLeft; break; case GamepadKeyCode.dpadRight: buttonToUpdate = GamepadButton.DpadRight; break; case GamepadKeyCode.Button0: buttonToUpdate = GamepadButton.B; break; case GamepadKeyCode.Button1: buttonToUpdate = GamepadButton.A; break; case GamepadKeyCode.Button2: buttonToUpdate = GamepadButton.Y; break; case GamepadKeyCode.Button3: buttonToUpdate = GamepadButton.X; break; case GamepadKeyCode.Button6: buttonToUpdate = GamepadButton.LeftTrigger; gamepadState.leftTrigger = (float)value; break; case GamepadKeyCode.Button7: buttonToUpdate = GamepadButton.RightTrigger; gamepadState.rightTrigger = (float)value; break; default: UE.Debug.Log("Unmapped button code: " + buttonIndex); break; } GamepadsStates[id] = gamepadState.WithButton(buttonToUpdate, GamepadEventType.ButtonDown == state || GamepadEventType.ButtonPressed == state); }
void ProcessGamepadAxisEvent(double x, double y, GamepadKeyCode axisKeyCode) { GamepadState gamepadState = m_gamepadState; if (axisKeyCode == GamepadKeyCode.Axis0) { gamepadState.leftStick = new UE.Vector2((float)x, (float)y); } if (axisKeyCode == GamepadKeyCode.Axis1) { gamepadState.rightStick = new UE.Vector2((float)x, (float)y); } m_gamepadState = gamepadState; }
static void ProcessGamepadAxisEvent(double x, double y, GamepadKeyCode axisKeyCode, double id) { GamepadState gamepadState = GamepadsStates[id]; if (axisKeyCode == GamepadKeyCode.axis0) { gamepadState.leftStick = new UE.Vector2((float)x, (float)y); } if (axisKeyCode == GamepadKeyCode.axis1) { gamepadState.rightStick = new UE.Vector2((float)x, (float)y); } GamepadsStates[id] = gamepadState; }
public InputKey?Map(GamepadKeyCode gamepadKeyCode) { var lookup = GetKeyLookup(); InputKey?ret; if (lookup.TryGetValue(gamepadKeyCode, out InputKey key)) { ret = key; } else { ret = null; } return(ret); }