reckfellENGINE

InputMap

Runtime-карта именованных действий и привязок ввода.

На этой странице
class InputMapReckfellSharp

Создайте действие через AddAction, добавьте InputEvent через ActionAddEvent, затем проверяйте событие или состояние Input. Регистрация действия, привязка, соответствие события и удерживаемое состояние — разные операции. Ни одна правка карты сама по себе не сохраняет пользовательские настройки.

ActionGetEvents копирует список, но не ресурсы событий. EventIsAction допускает release и не является проверкой нажатия. GetActionDescription в 1.0.0 перечисляет только key-привязки. Для полного интерфейса переназначения выводите список событий и храните настройки отдельно.

LoadFromProjectSettings заменяет runtime-карту данными текущих ProjectSettings: временные правки исчезают. Singleton заимствованный; не Dispose его. Проверены действия с уникальными именами и перезагрузка в отдельном Windows headless-проекте. Физический ввод, GUI-dispatch, сохранение на диск и другие платформы не проверялись.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Свойства1

SingletonСвойство
# Singleton
C#
public static InputMapInstance Singleton { get; }

Заимствованный кешированный InputMapInstance того же runtime singleton, которым пользуются статические методы. Не создавайте второй InputMap и не Dispose этот wrapper. Для обычной настройки действий достаточно статического InputMap API.

Методы14

ActionAddEventvoid
# ActionAddEvent
C#
public static void ActionAddEvent(StringName action, InputEvent @event);

Добавляет ссылку на InputEvent к существующему действию. Совпадение проверяется как exact binding с устройством, а не равенство wrapper; обычные дубликаты пропускаются. Device=0 у key/mouse нормализуется в категорию устройства ПОСЛЕ этой проверки и меняет переданный ресурс: так могут появиться эквивалентные дубликаты. Используйте корректную Device-категорию до вызова. Изменение самого ресурса позже меняет привязку; OS-событие не отправляется и конфигурация на диск не сохраняется.

Параметры
ИмяТипПо умолчанию
actionStringName—
eventInputEvent—
action

Имя существующего действия; только AddAction принимает новое уникальное имя.

event

Непустой InputEvent для сравнения/привязки; wrapper identity обычно не является критерием совпадения.

ActionEraseEventvoid
# ActionEraseEvent
C#
public static void ActionEraseEvent(StringName action, InputEvent @event);

Удаляет первое exact-совпадение привязки, учитывая устройство. Другой wrapper с тем же описанием может совпасть; отсутствие совпадения ничего не удаляет. При удалении совпавшего события также отпускает удерживаемое действие. Для удаления всех привязок используйте ActionEraseEvents.

Параметры
ИмяТипПо умолчанию
actionStringName—
eventInputEvent—
action

Имя существующего действия; только AddAction принимает новое уникальное имя.

event

Непустой InputEvent для сравнения/привязки; wrapper identity обычно не является критерием совпадения.

ActionEraseEventsvoid
# ActionEraseEvents
C#
public static void ActionEraseEvents(StringName action);

Удаляет все привязки существующего действия и отпускает его удерживаемое состояние. Имя и deadzone действия остаются; на диск изменения не записываются.

Параметры
ИмяТипПо умолчанию
actionStringName—
action

Имя существующего действия; только AddAction принимает новое уникальное имя.

ActionGetDeadzonefloat
# ActionGetDeadzone
C#
public static float ActionGetDeadzone(StringName action);

Читает сохранённую мёртвую зону существующего действия. Четыре этих значения усредняются GetVector при отрицательном параметре deadzone.

Параметры
ИмяТипПо умолчанию
actionStringName—
action

Имя существующего действия Input Map.

Возвращает float

Сохранённое число. Для отсутствующего действия сообщает ошибку и возвращает 0; это не подтверждает корректную нулевую настройку.

ActionGetEventsReckfell.Collections.Array<InputEvent>
# ActionGetEvents
C#
public static Reckfell.Collections.Array<InputEvent> ActionGetEvents(StringName action);

Возвращает новый типизированный Array<InputEvent>: изменение списка не меняет InputMap. Ресурсы InputEvent внутри общие и могут быть теми же C# wrappers, поэтому изменение события меняет действующую привязку. Не Dispose заимствованный элемент ради очистки списка; для удаления используйте методы InputMap. У типизированного Array нет Dispose.

Параметры
ИмяТипПо умолчанию
actionStringName—
action

Имя существующего действия; только AddAction принимает новое уникальное имя.

Возвращает Reckfell.Collections.Array<InputEvent>

Новый типизированный Array<InputEvent> с общими ресурсами; контейнер не имеет Dispose.

ActionHasEventbool
# ActionHasEvent
C#
public static bool ActionHasEvent(StringName action, InputEvent @event);

Проверяет exact-совпадение события с привязкой существующего действия, включая устройство; это не проверка wrapper identity. Совпадение не означает, что действие сейчас удерживается.

Параметры
ИмяТипПо умолчанию
actionStringName—
eventInputEvent—
action

Имя существующего действия; только AddAction принимает новое уникальное имя.

event

Непустой InputEvent для сравнения/привязки; wrapper identity обычно не является критерием совпадения.

Возвращает bool

Наличие совпадающей привязки, не состояние нажатия.

ActionSetDeadzonevoid
# ActionSetDeadzone
C#
public static void ActionSetDeadzone(StringName action, float deadzone);

Меняет сохранённую мёртвую зону существующего действия. Не создаёт отсутствующее действие, не назначает устройство и не сохраняет конфигурацию на диск.

Параметры
ИмяТипПо умолчанию
actionStringName—
deadzonefloat—
action

Имя уже созданного действия.

deadzone

Новое значение; для обычной аналоговой обвязки проверяйте конечность и диапазон 0 ≤ значение < 1. Сам нативный setter сохраняет число без такого ограничения.

AddActionvoid
# AddAction
C#
public static void AddAction(StringName action, float deadzone = 0.2f);

Создаёт новое действие во время выполнения. Существующее имя отклоняется с сообщением об ошибке. Сам вызов не добавляет физические события и не сохраняет настройки на диск.

Параметры
ИмяТипПо умолчанию
actionStringName—
deadzonefloat0.2f
action

Уникальное имя нового действия. Для существующего действия сначала используйте HasAction.

deadzone

Мёртвая зона действия, по умолчанию 0,2 в SDK 1.0.0. Проверяйте значение в своём коде; добавление действия не выполняет такую же проверку диапазона, как учебная обвязка.

EraseActionvoid
# EraseAction
C#
public static void EraseAction(StringName action);

Удаляет существующее действие из runtime-карты вместе с привязками. Не является сохранением ProjectSettings. Для отсутствующего имени будет диагностика; сначала проверьте HasAction. Не полагайтесь на удаление записи как замену явного ActionRelease в собственном управлении удержанием.

Параметры
ИмяТипПо умолчанию
actionStringName—
action

Имя существующего действия; только AddAction принимает новое уникальное имя.

EventIsActionbool
# EventIsAction
C#
public static bool EventIsAction(InputEvent @event, StringName action, bool exactMatch = false);

Проверяет соответствие события существующему действию, не текущее состояние Input. По умолчанию exactMatch=false допускает дополнительные modifiers; true требует точного action-match. Release-событие тоже может совпасть. InputEventAction сравнивается по имени даже без физических привязок. Запрос не отправляет событие и не нажимает действие.

Параметры
ИмяТипПо умолчанию
eventInputEvent—
actionStringName—
exactMatchboolfalse
event

Непустой InputEvent для сравнения/привязки; wrapper identity обычно не является критерием совпадения.

action

Имя существующего действия; только AddAction принимает новое уникальное имя.

exactMatch

true требует точного action-match; false допускает дополнительные modifiers. Не является флагом pressed.

Возвращает bool

Соответствие события имени/привязке, независимо от текущего состояния Input.

GetActionDescriptionstring
# GetActionDescription
C#
public static string GetActionDescription(StringName action);

В 1.0.0 формирует отображаемый текст только по InputEventKey-привязкам, соединяя их локализованным «или». Mouse/joypad-привязки не перечисляет: fallback о неназначенном вводе может появиться даже с ними. Для полного списка используйте ActionGetEvents и собственные подписи. Не сохраняйте этот текст как ID или стабильный формат.

Параметры
ИмяТипПо умолчанию
actionStringName—
action

Имя существующего действия; только AddAction принимает новое уникальное имя.

Возвращает string

Отображаемые key-привязки или локализованный fallback; не полный список устройств.

GetActionsReckfell.Collections.Array<StringName>
# GetActions
C#
public static Reckfell.Collections.Array<StringName> GetActions();

Возвращает снимок зарегистрированных имён действий, включая встроенные и добавленные во время выполнения. Это не список только пользовательских привязок и не сортированный контракт. Изменение контейнера не меняет карту.

Возвращает Reckfell.Collections.Array<StringName>

Типизированный Array<StringName> имён без обещания сортировки.

HasActionbool
# HasAction
C#
public static bool HasAction(StringName action);

Проверяет регистрацию имени. true не гарантирует наличие физической привязки, её пригодность или удерживаемое состояние.

Параметры
ИмяТипПо умолчанию
actionStringName—
action

Имя существующего действия; только AddAction принимает новое уникальное имя.

Возвращает bool

true, если имя зарегистрировано, даже без привязок.

LoadFromProjectSettingsvoid
# LoadFromProjectSettings
C#
public static void LoadFromProjectSettings();

Очищает текущую runtime-карту и заново загружает действия input/* из текущих ProjectSettings, затем испускает ProjectSettingsLoaded. Это замена, не merge: временные действия/переназначения теряются. Не записывает настройки на диск и не перечитывает автоматически project.reckfell с диска. Вызывайте после подготовки нужных настроек проекта.

Сигналы и события1

ProjectSettingsLoadedСобытие
# ProjectSettingsLoaded
C#
public static event Action ProjectSettingsLoaded;

Событие без аргументов после завершения LoadFromProjectSettings. Не означает загрузку сохранённого пользовательского remap, нажатие клавиши или запись файла. Подписывайтесь до перезагрузки и снимайте подписку по окончании жизни получателя.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.