reckfellENGINE

OpenXRActionSet

Именованный набор ресурсов действий с приоритетом.

На этой странице
class OpenXRActionSetReckfellSharpНаследует Resource

OpenXRActionSet группирует действия, например gameplay или menu. ResourceName — внутреннее имя, LocalizedName — подпись, Priority — приоритет конфликтов активных наборов. Новый набор пуст, с пустой подписью и Priority=0. Эти ресурсы описывают будущий runtime-набор; изменение Priority не переключает его активность.

Одно действие принадлежит одному набору. AddAction переносит ресурс из прежнего набора; повтор того же ресурса игнорируется. Для независимых действий создавайте разные экземпляры. Уникальность внутренних имён и подписей проверяйте отдельно.

Actions/GetActions возвращает общий Array. Не вызывайте Clear() и не присваивайте его обратно напрямую: это обходит обслуживание связей либо очищает список. Для замены скопируйте контейнер через Duplicate(), отредактируйте его и передайте SetActions. Ресурсы в копии остаются общими.

SetLocalizedName и SetPriority испускают Changed даже при том же значении. SetActions очищает связи и повторно добавляет действия, поэтому не обещает ровно один сигнал. RemoveAction удаляет ресурс из набора, но не чистит за вас ссылки binding в профилях.

Начальные значения, события, идентичность, самоприсваивание и безопасная замена контейнера проверены в установленном движке без XR-сеанса. Работа приоритетов на гарнитуре и переключение runtime-наборов не проверялись. Полный пример: карта действий.

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

Конструкторы1

OpenXRActionSetКонструктор
# OpenXRActionSet
C#
public OpenXRActionSet();

Создаёт пустой набор с Priority=0 и пустой LocalizedName. Задайте ResourceName и подпись, добавьте действия и поместите набор в карту до запуска сеанса.

Свойства3

ActionsСвойство
# Actions
C#
public Reckfell.Collections.Array Actions { get; set; }

Ресурсы действий набора. Getter возвращает общий Array. Setter снимает старое владение и заново вызывает AddAction; повтор одного ресурса не добавляется. Самоприсваивание общего массива очищает список. Перед заменой используйте Duplicate() контейнера. Прямые изменения возвращённого Array обходят обслуживание связей и Changed; предпочтительны AddAction/RemoveAction.

LocalizedNameСвойство
# LocalizedName
C#
public string LocalizedName { get; set; }

Человекочитаемая подпись, изначально пустая. Внутренний ключ хранится отдельно в ResourceName. Setter сохраняет строку и испускает Changed даже при повторе; сам не выполняет полную проверку требований OpenXR. Перед подключением к сеансу задайте непустую уникальную подпись в нужной области имён. Изменение ресурса не переименовывает уже созданный runtime action/set.

PriorityСвойство
# Priority
C#
public int Priority { get; set; }

Приоритет набора при разрешении конфликтов активных наборов, изначально 0. Setter сохраняет int без проверки и испускает Changed даже при повторе; используйте неотрицательные значения. Не включает набор и не меняет активность сеанса. Значение передаётся при создании runtime-набора, поэтому изменение ресурса не перестраивает подключённый сеанс.

Методы9

AddActionvoid
# AddAction
C#
public void AddAction(OpenXRAction action);

Добавляет ненулевое действие и испускает Changed; повтор того же ресурса игнорируется. Если действие принадлежало другому набору, оно удаляется оттуда. Для независимых действий в двух наборах создайте разные ресурсы. Имена и подписи не проверяются на уникальность этим методом.

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

Ненулевой OpenXRAction. Добавление переносит его из другого набора; удаление касается именно этого ресурса.

GetActionCountint
# GetActionCount
C#
public int GetActionCount();

Число ресурсов действий в наборе. Не число нажатий, доступных устройств или активных runtime-действий.

Возвращает int

Число ресурсов действий в наборе, изначально 0.

GetActionsReckfell.Collections.Array
# GetActions
C#
public Reckfell.Collections.Array GetActions();

Ресурсы действий набора. Getter возвращает общий Array. Setter снимает старое владение и заново вызывает AddAction; повтор одного ресурса не добавляется. Самоприсваивание общего массива очищает список. Перед заменой используйте Duplicate() контейнера. Прямые изменения возвращённого Array обходят обслуживание связей и Changed; предпочтительны AddAction/RemoveAction.

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

Общий Array действий; используйте методы набора для сохранения связей владения.

GetLocalizedNamestring
# GetLocalizedName
C#
public string GetLocalizedName();

Сохранённая человекочитаемая подпись. Внутреннее имя набора читается из ResourceName.

Возвращает string

Сохранённая подпись, изначально пустая; не ResourceName.

GetPriorityint
# GetPriority
C#
public int GetPriority();

Сохранённый приоритет ресурса, изначально 0. Не подтверждает применение значения уже подключённым runtime.

Возвращает int

Сохранённый int приоритета ресурса, изначально 0.

RemoveActionvoid
# RemoveAction
C#
public void RemoveAction(OpenXRAction action);

Удаляет указанное действие, сбрасывает его связь с этим набором и испускает Changed, если оно присутствовало. Отсутствующее действие не меняет набор. Не удаляет привязки профиля и не перестраивает XR-сеанс автоматически.

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

Ненулевой OpenXRAction. Добавление переносит его из другого набора; удаление касается именно этого ресурса.

SetActionsvoid
# SetActions
C#
public void SetActions(Reckfell.Collections.Array actions);

Ресурсы действий набора. Getter возвращает общий Array. Setter снимает старое владение и заново вызывает AddAction; повтор одного ресурса не добавляется. Самоприсваивание общего массива очищает список. Перед заменой используйте Duplicate() контейнера. Прямые изменения возвращённого Array обходят обслуживание связей и Changed; предпочтительны AddAction/RemoveAction.

Параметры
ИмяТипПо умолчанию
actionsReckfell.Collections.Array—
actions

Отдельный Array ненулевых OpenXRAction; используйте Duplicate(), если заменяете список данными собственного getter.

SetLocalizedNamevoid
# SetLocalizedName
C#
public void SetLocalizedName(string localizedName);

Человекочитаемая подпись, изначально пустая. Внутренний ключ хранится отдельно в ResourceName. Setter сохраняет строку и испускает Changed даже при повторе; сам не выполняет полную проверку требований OpenXR. Перед подключением к сеансу задайте непустую уникальную подпись в нужной области имён. Изменение ресурса не переименовывает уже созданный runtime action/set.

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

Непустая человекочитаемая подпись для подготовленной карты. Не внутреннее имя и не автоматический перевод; задавайте текст нужного языка.

SetPriorityvoid
# SetPriority
C#
public void SetPriority(int priority);

Приоритет набора при разрешении конфликтов активных наборов, изначально 0. Setter сохраняет int без проверки и испускает Changed даже при повторе; используйте неотрицательные значения. Не включает набор и не меняет активность сеанса. Значение передаётся при создании runtime-набора, поэтому изменение ресурса не перестраивает подключённый сеанс.

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

Неотрицательный приоритет для будущего создания runtime-набора. Setter сам не проверяет диапазон.

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

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

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

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