Обнаружение контроллеров Game
Unity включает в проект фреймворк Game Controller только в том случае, если скрипт в проекте ссылается на Input.GetJoystickNames. Если он доступен, Unity iOS Runtime динамически загружает фреймворк.
Чтобы получить список всех доступных контроллеров, вызовите Input.GetJoystickNames. Вы можете повторно проверить этот список в любое время, чтобы определить, были ли контроллеры подключены или отсоединены.
Вы можете вызвать это API для определения типа подключенного контроллера. Имя следует схеме: [$profile_type,$connection_type] joystick $number by $model. $profile_type может быть либо базовым или расширенным, и $connection_type либо проводным или беспроводным. Когда Unity обнаруживает хотя бы один контроллер, вы можете либо отключить сенсорные элементы управления на экране, либо изменить их, чтобы дополнить ввод контроллера.
Пример: Обнаружение подключенных контроллеров Game
Следующий пример кода проверяет, подключены ли к устройству какие-либо контроллеры.
using System.Collections;
using UnityEngine;
public class GameControllers : MonoBehaviour
{
private bool connected = false;
IEnumerator CheckForControllers() {
while (true) {
var controllers = Input.GetJoystickNames();
if (!connected && controllers.Length > 0) {
connected = true;
Debug.Log("Connected");
} else if (connected && controllers.Length == 0) {
connected = false;
Debug.Log("Disconnected");
}
yield return new WaitForSeconds(1f);
}
}
void Awake() {
StartCoroutine(CheckForControllers());
}
}