Exemplo n.º 1
0
        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)));
        }
Exemplo n.º 2
0
        public override bool GetTouchDown(TBInput.Button button, TBInput.Controller controller)
        {
            if (ShouldRouteThroughXInput(controller))
            {
                return(TBXInput.instance.GetTouchDown(button, controller));
            }

            return(base.GetTouchDown(button, controller));
        }
Exemplo n.º 3
0
        public override bool SupportsAxis2D(TBInput.Button button, TBInput.Controller controller)
        {
            if (ShouldRouteThroughXInput(controller))
            {
                return(TBXInput.instance.SupportsAxis2D(button, controller));
            }

            return(base.SupportsAxis2D(button, controller));
        }
Exemplo n.º 4
0
        public override Vector2 GetAxis2D(TBInput.Button button, TBInput.Controller controller)
        {
            if (ShouldRouteThroughXInput(controller))
            {
                return(TBXInput.instance.GetAxis2D(button, controller));
            }

            return(base.GetAxis2D(button, controller));
        }
Exemplo n.º 5
0
        public void SetButton(TBInput.Button button, TBInput.Controller controller)
        {
            _button     = button;
            _controller = controller;

            if (!TBInput.SupportsAxis1D(button, controller))
            {
                transform.parent.gameObject.SetActive(false);
            }
        }
Exemplo n.º 6
0
        public void SetButton(TBInput.Button button, TBInput.Controller controller)
        {
            _button     = button;
            _controller = controller;

            if (!TBInput.SupportsButton(button, controller))
            {
                gameObject.SetActive(false);
            }
        }
Exemplo n.º 7
0
 /// <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);
 }
Exemplo n.º 8
0
 /// <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);
     }
 }
Exemplo n.º 9
0
 public virtual bool SupportsInputType(TBInput.Button button, TBInput.Controller controller)
 {
     T[] buttons = GetButtonArray(button, ref controller);
     if (buttons == null)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
Exemplo n.º 10
0
        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);
            }
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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;
            }
        }