Первый коммит
This commit is contained in:
58
Assets/Scripts/ScriptNumGamepad.cs
Normal file
58
Assets/Scripts/ScriptNumGamepad.cs
Normal file
@ -0,0 +1,58 @@
|
||||
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";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user