public static bool GetButtonDown(InputButtons button, int index) { var gIndex = IntToIndex(index); bool result = false; if (gIndex == Index.Any) { for (int i = 0; i < 4; i++) { if (XInput.GetButtonDown(Buttons[button], i)) { result = true; } } if (KbInput.GetButtonDown(Buttons[button])) { result = true; } } else if (gIndex == Index.Kbm) { result = KbInput.GetButtonDown(Buttons[button]); } else { result = XInput.GetButtonDown(Buttons[button], index); } return(result); }
public static Vector2 GetAxis(Axis axis, int index) { var axes = GetAxisFromMap(axis); var gIndex = IntToIndex(index); Vector2 result = new Vector2(0, 0); if (gIndex == Index.Any) { for (int i = 0; i < 4; i++) { result.x += XInput.GetAxis(axes[0], i); result.y += XInput.GetAxis(axes[1], i); } result.x += KbInput.GetAxis(axes[0]); result.y += KbInput.GetAxis(axes[1]); } else if (gIndex == Index.Kbm) { result.x = KbInput.GetAxis(axes[0]); result.y = KbInput.GetAxis(axes[1]); } else { result.x = XInput.GetAxis(axes[0], index); result.y = XInput.GetAxis(axes[1], index); } return(result); }
/// <summary> /// Retrieve instance with only this method /// </summary> /// <returns></returns> private static XInput GetInstance() { if (_instance == null) { _instance = new XInput(); } return(_instance); }