private IEnumerator UpdateJoystickState() { while (true) { string[] names = InputManager.GetJoystickNames(); for (int i = 0; i < m_joystickState.Length; i++) { m_joystickState[i] = names.Length > i && !string.IsNullOrEmpty(names[i]); } yield return(new WaitForSeconds(m_joystickCheckFrequency)); } }
private IEnumerator UpdateJoystickState() { while (true) { string[] names = InputManager.GetJoystickNames(); for (int i = 0; i < m_gamepadStatus.Length; i++) { GamepadStatus oldStatus = m_gamepadStatus[i]; if (names.Length > i && !string.IsNullOrEmpty(names[i])) { m_gamepadStatus[i] = new GamepadStatus(names[i], true); } else { m_gamepadStatus[i] = GamepadStatus.NotConnected; } if (oldStatus.IsConnected && !m_gamepadStatus[i].IsConnected) { if (GamepadDisconnected != null) { GamepadDisconnected((GamepadIndex)i); } Debug.LogFormat("Gamepad Disconnected: {0}", oldStatus.Name); } if (!oldStatus.IsConnected && m_gamepadStatus[i].IsConnected) { if (GamepadConnected != null) { GamepadConnected((GamepadIndex)i); } Debug.LogFormat("Gamepad Connected: {0}", m_gamepadStatus[i].Name); } } yield return(new WaitForSeconds(m_joystickCheckFrequency)); } }