Общая схема работы

Стандарт конфигурации ввода обеспечивает хранение настроек элементов ввода в отдельном объекте-менеджере, с которого раскладки аватара производят подгрузку конфигурации. Общая схема работы выглядит следующим образом:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/296b8f33-8d5f-4915-9d06-c5575f4a0a74/Untitled.png

ManagerInputController

Компонент ManagerInputController присутствует в единственном экземпляре в текущей игровой сцене и имеет следующий вид:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8976d847-9727-4c81-bbae-401476b87b50/Untitled.png

Данный компонент имеет кнопку Import from AvatarOverallInput, по нажатию на которую откроется мастер импорта конфигурации управления.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/91cf2db2-d698-47ae-949c-d898761fdac3/Untitled.png

Параметр Input в мастере импорта конфигурации является ссылкой на компонент AvatarOverallInput с настроенными элементами ввода. Параметр Player Index определяет номер игрока, для которого будет сгенерирована конфигурация управления.

По нажатию кнопки Import произойдёт создание объектов конфигурации управления для каждого элемента ввода из указанного компонента AvatarOverallInput.

Внутренняя иерархия объекта, на который добавлен компонент ManagerInputController, будет выглядеть следующим образом:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0b239a0e-a16e-4a17-abd6-f21393486773/Untitled.png

Объект, на который добавляется ManagerInputController, принято называть InputManager. Внутри InputManager расположены объекты с форматом именования Player<Player Index>, каждый из которых содержит внутри себя конфигурацию управления игрока соответствующего номера. Конфигурация управления игрока состоит из элементов ввода, имена которых соответствуют именам элементов в импортированных компонентах AvatarOverallInput. Каждый элемент ввода содержит в себе объекты Keyboard, Mouse и Gamepad, которые хранят в себе конфигурацию управления соответствующих устройств ввода.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/90bad364-ef66-4c86-870e-402ab5f3b2cd/Untitled.png

Компоненты, хранящие настройки управления для механических устройств ввода, являются компонентами Стандарта компонентов ввода.

Input Components Standard

Доступные названия кнопок и осей зависят от настраиваемого устройства ввода.

Если у элемента ввода отсутствует вариант управления для настраиваемого устройства ввода (например, прыжок нельзя сделать с помощью мыши), то поля с названиями кнопок и осей следует оставлять пустыми, либо использовать имя None.

Для клавиатуры доступные имена клавиш соответствуют именам перечисления KeyCode