Новая система ввода Unity 3d, как получить имя привязки действия ⇐ C#

Место общения программистов C#
Anonymous
Новая система ввода Unity 3d, как получить имя привязки действия

Сообщение Anonymous »

Мне нужно знать имя привязки, вызывающей мою функцию. Но в переменной InputAction.CallbackContext эта информация отсутствует.
[img]https://i.sstatic.net /0Tl28.png[/img]

Вот как я это делаю:

Код: Выделить всё

private void OnDisable()
{
movingBinds.PlayerMovingMap.Moves.performed -= ctx => MoveIt(ctx);

}

private void MoveIt(InputAction.CallbackContext ctx)
{
Debug.Log(ctx);
}
Вывод консоли для контекстной переменной при нажатии A (имя привязки слева):

Код: Выделить всё

{ action=PlayerMovingMap/Moves[/Keyboard/w,/Keyboard/s,/Keyboard/a,/Keyboard/d] phase=Performed time=5,94887570000014 control=Key:/Keyboard/a value=(0,0, -1,0) interaction= }
Я нажал клавишу, значение Vecto2, но не имя привязки. Но мне это нужно, потому что, если игрок решит сменить свою клавишу на «Влево», у меня будет scr*wed.
Как я могу получить имя привязки при вызове моей функции MoveIt?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/732 ... nding-name

Вернуться в «C#»