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(); }
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 }