Esempio n. 1
0
        void Update()
        {
            if (autoConnectController && Controller.Count > 0)
            {
                for (int i = 1; i <= Controller.Count; i++)
                {
                    if (Controller.ControllerType(i) != null)
                    {
                        Controller controller = Controller.Get(i);

                        if (connectControllerCallback == null || connectControllerCallback(controller))
                        {
                            ActiveController = controller;
                        }

                        autoConnectController = false;

                        break;
                    }
                }
            }

                        #if DC_TOUCH_CONTROLS
            if (Enabled)
            {
                for (int i = 0; i < 2 && i < Input.touches.Length; i++)
                {
                    Touch        touch = Input.touches[i];
                    VirtualStick stick;

                    if (touch.position.x < Screen.width * 0.5f)
                    {
                        stick = (VirtualStick)leftStick;
                    }
                    else
                    {
                        stick = (VirtualStick)rightStick;
                    }

                    if (touch.phase == TouchPhase.Began)
                    {
                        stick.Start(touch.position);
                    }
                    else if (touch.phase == TouchPhase.Moved || touch.phase == TouchPhase.Stationary)
                    {
                        stick.Update(touch.position);
                    }
                }
            }

            if (((VirtualStick)leftStick).LastUpdateTime != Time.time)
            {
                ((VirtualStick)leftStick).Update();
            }

            if (((VirtualStick)rightStick).LastUpdateTime != Time.time)
            {
                ((VirtualStick)rightStick).Update();
            }
                        #endif
        }
Esempio n. 2
0
        void OnGUI()
        {
            GUILayout.BeginHorizontal();
            GUILayout.BeginVertical();
            GUILayout.Box("All joysticks");
            for (int i = 1; i <= Controller.Count; i++)
            {
                if (GUILayout.Toggle(ControllerIndex == i, string.Format("{0}: {1}", i, Controller.ControllerType(i)), GUI.skin.button) && ControllerIndex != i)
                {
                    controller = Controller.Get(i);
                }
            }
            GUILayout.EndVertical();

            if (controller != null)
            {
                GUILayout.BeginVertical();
                GUILayout.Box("Buttons");
                for (int i = 0; i < 20; i++)
                {
                    GUILayout.Label(string.Format("{0}: {1}", i, controller.GetButton(i)));
                }
                GUILayout.EndVertical();

                GUILayout.BeginVertical();
                GUILayout.Box(string.Format("Mapping: {0} {1}", controller, controller.Index));
                controller.OnGUI();
                GUILayout.EndVertical();
            }
            GUILayout.EndHorizontal();
        }