protected virtual T[] GetButtonArray(TBInput.Button button, ref TBInput.Controller controller) { if (controller == TBInput.Controller.Active) { controller = TBInput.GetActiveController(); } return(TBInput.GetRawButtons <T>(button, GetButtonLookupTableForController(controller))); }
public override bool GetTouchDown(TBInput.Button button, TBInput.Controller controller) { if (ShouldRouteThroughXInput(controller)) { return(TBXInput.instance.GetTouchDown(button, controller)); } return(base.GetTouchDown(button, controller)); }
public override bool SupportsAxis2D(TBInput.Button button, TBInput.Controller controller) { if (ShouldRouteThroughXInput(controller)) { return(TBXInput.instance.SupportsAxis2D(button, controller)); } return(base.SupportsAxis2D(button, controller)); }
public override Vector2 GetAxis2D(TBInput.Button button, TBInput.Controller controller) { if (ShouldRouteThroughXInput(controller)) { return(TBXInput.instance.GetAxis2D(button, controller)); } return(base.GetAxis2D(button, controller)); }
public void SetButton(TBInput.Button button, TBInput.Controller controller) { _button = button; _controller = controller; if (!TBInput.SupportsAxis1D(button, controller)) { transform.parent.gameObject.SetActive(false); } }
public void SetButton(TBInput.Button button, TBInput.Controller controller) { _button = button; _controller = controller; if (!TBInput.SupportsButton(button, controller)) { gameObject.SetActive(false); } }
/// <summary> /// Adds a button to a button array. Helper class used by the GUI functions. /// </summary> /// <param name="oldArray"></param> /// <returns></returns> private static TBInput.Button[] AddToButtonArray(TBInput.Button[] oldArray) { TBInput.Button[] newArray = new TBInput.Button[oldArray.Length + 1]; for (int i = 0; i < oldArray.Length; i++) { newArray[i] = oldArray[i]; } newArray[newArray.Length - 1] = TBInput.Button.None; return(newArray); }
/// <summary> /// Returns true if the given virtual button has any mapping set on the specified controller. /// </summary> /// <param name="button"></param> /// <param name="controller"></param> /// <returns></returns> public static bool SupportsVirtualButton(TBInput.Button button, Controller controller = Controller.Active) { if (_hasActiveSDK) { return(_activeSDK.SupportsInputType(button, controller)); } else { return(false); } }
public virtual bool SupportsInputType(TBInput.Button button, TBInput.Controller controller) { T[] buttons = GetButtonArray(button, ref controller); if (buttons == null) { return(false); } else { return(true); } }
void CreateDisplayRow(TBInput.Button button) { _activeRow = (TBSampleInputRow)Instantiate(rowPrefab, transform, false); _activeRow.GetComponent <RectTransform>().anchoredPosition = new Vector3(0, _rowOffset); _activeRow.SetButton(button, controller); _rowOffset -= 26; if (_rect.sizeDelta.y < -_rowOffset - 12) { _rect.sizeDelta = new Vector2(_rect.sizeDelta.x, -_rowOffset - 12); } }
public void SetButton(TBInput.Button button, TBInput.Controller controller) { _label = GetComponentInChildren <Text>(); _press = GetComponentInChildren <TBSamplePress>(); _touch = GetComponentInChildren <TBSampleTouch>(); _axis1D = GetComponentInChildren <TBSampleAxis1D>(); _axis2D = GetComponentInChildren <TBSampleAxis2D>(); _label.text = button.ToString(); _press.SetButton(button, controller); _touch.SetButton(button, controller); _axis1D.SetButton(button, controller); _axis2D.SetButton(button, controller); }
public virtual bool GetTouch(TBInput.Button button, TBInput.Controller controller) { bool resolution = false; T[] buttons = GetButtonArray(button, ref controller); if (buttons == null) { return(false); } for (int i = 0; i < buttons.Length; i++) { if (ResolveTouch(buttons[i], controller)) { resolution = true; } } return(resolution); }
public virtual bool SupportsAxis2D(TBInput.Button button, TBInput.Controller controller) { T[] buttons = GetButtonArray(button, ref controller); if (buttons == null) { return(false); } bool supported = false; for (int i = 0; i < buttons.Length; i++) { if (SupportsRawAxis2D(buttons[i], controller)) { supported = true; } } return(supported); }
public virtual float GetAxis1D(TBInput.Button button, TBInput.Controller controller) { float resolution = 0; T[] buttons = GetButtonArray(button, ref controller); if (buttons == null) { return(resolution); } for (int i = 0; i < buttons.Length; i++) { float axis = ResolveAxis1D(buttons[i], controller); if (axis > resolution) { resolution = axis; } } return(resolution); }
public virtual Vector2 GetAxis2D(TBInput.Button button, TBInput.Controller controller) { Vector2 resolution = Vector2.zero; T[] buttons = GetButtonArray(button, ref controller); if (buttons == null) { return(resolution); } for (int i = 0; i < buttons.Length; i++) { Vector2 axis = ResolveAxis2D(buttons[i], controller); if (axis == Vector2.zero) { continue; } if (axis.sqrMagnitude > resolution.sqrMagnitude) { resolution = axis; } } return(resolution); }
public static void SetupVirtualMap <T>(ref ButtonLookupTable <T> table, T rawButton, TBInput.Button virtualButton) { switch (virtualButton) { case Button.PrimaryTrigger: BindVirtualMapToButton <T>(ref table.PrimaryTrigger, rawButton); break; case Button.SecondaryTrigger: BindVirtualMapToButton <T>(ref table.SecondaryTrigger, rawButton); break; case Button.Start: BindVirtualMapToButton <T>(ref table.Start, rawButton); break; case Button.Options: BindVirtualMapToButton <T>(ref table.Options, rawButton); break; case Button.Action1: BindVirtualMapToButton <T>(ref table.Action1, rawButton); break; case Button.Action2: BindVirtualMapToButton <T>(ref table.Action2, rawButton); break; case Button.Action3: BindVirtualMapToButton <T>(ref table.Action3, rawButton); break; case Button.Action4: BindVirtualMapToButton <T>(ref table.Action4, rawButton); break; case Button.DpadUp: BindVirtualMapToButton <T>(ref table.DpadUp, rawButton); break; case Button.DpadDown: BindVirtualMapToButton <T>(ref table.DpadDown, rawButton); break; case Button.DpadLeft: BindVirtualMapToButton <T>(ref table.DpadLeft, rawButton); break; case Button.DpadRight: BindVirtualMapToButton <T>(ref table.DpadRight, rawButton); break; case Button.Touchpad: BindVirtualMapToButton <T>(ref table.Touchpad, rawButton); break; case Button.Joystick: BindVirtualMapToButton <T>(ref table.Joystick, rawButton); break; case Button.LeftTrigger: BindVirtualMapToButton <T>(ref table.LeftTrigger, rawButton); break; case Button.RightTrigger: BindVirtualMapToButton <T>(ref table.RightTrigger, rawButton); break; case Button.LeftBumper: BindVirtualMapToButton <T>(ref table.LeftBumper, rawButton); break; case Button.RightBumper: BindVirtualMapToButton <T>(ref table.RightBumper, rawButton); break; case Button.LeftStick: BindVirtualMapToButton <T>(ref table.LeftStick, rawButton); break; case Button.RightStick: BindVirtualMapToButton <T>(ref table.RightStick, rawButton); break; case Button.Any: BindVirtualMapToButton <T>(ref table.Any, rawButton); break; } }