Racing_Game/Assets/Scripts/ScriptNumGamepad.cs

58 lines
1.5 KiB
C#

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";
}
}
}
}