private bool IsButtonPressed(uint index, ButtonPressTypes type, ControllerRawButton button) { if (index < 0) { return(false); } var device = GetControllerInputByIndex(index); if (device == null) { return(false); } switch (type) { case ButtonPressTypes.Press: return(device.GetButton(button)); case ButtonPressTypes.PressDown: return(device.GetButtonDown(button)); case ButtonPressTypes.PressUp: return(device.GetButtonUp(button)); case ButtonPressTypes.Touch: return(device.GetButton(button)); case ButtonPressTypes.TouchDown: return(device.GetButtonDown(button)); case ButtonPressTypes.TouchUp: return(device.GetButtonUp(button)); } return(false); }
/// <summary> /// Returns a bool to indicate if there is a button up event. /// </summary> /// <param name="buttonMask">Passing in a ControllerRawButton to get button value</param> /// <example> /// This example shows how to use the <see cref="GetButtonUp"/> method. /// <code> /// using UnityEngine; /// using Ximmerse; /// using Ximmerse.InputSystem; /// /// class TestClass : MonoBehaviour /// { /// void Update() /// { /// ControllerInput leftController = ControllerInputManager.instance.GetControllerInput(ControllerType.LeftController); /// bool isButtonUp = leftController.GetButtonUp(ControllerRawButton.Start); /// Debug.Log("isButtonUp = " + isButtonUp); /// } /// } /// </code> /// </example> public virtual bool GetButtonUp(ControllerRawButton buttonMask) { return(GetButtonUp((uint)buttonMask)); }