using TMPro; using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; using System.Linq; using UnityEngine.InputSystem.Utilities; public class ScriptNumGamepad : MonoBehaviour { [SerializeField] private TextMeshProUGUI[] PlayerGamepad; [SerializeField] private TextMeshProUGUI[] PlayerGamepadConnect; private void Start() { ChangeGamepadInfo(); } private void Update() { InputSystem.onDeviceChange += (device, change) => { if ((device.name.Equals("Keyboard") || device.name.Equals("Mouse")) != true) { switch (change) { case InputDeviceChange.Added: Debug.Log("Added"); ChangeGamepadInfo(); break; case InputDeviceChange.Removed: Debug.Log("Removed"); ChangeGamepadInfo(); break; } } }; } private void ChangeGamepadInfo() { var allGamepads = Gamepad.all; for (int i = 0; i < PlayerGamepad.Length; i++) { try { PlayerGamepad[i].text = allGamepads[i].name; PlayerGamepadConnect[i].text = "Connected"; } catch { PlayerGamepad[i].text = "Disconnected"; PlayerGamepadConnect[i].text = "Disconnected"; } } } }