reckfellENGINE

ButtonGroup

Общий ресурс выбора среди toggle-кнопок.

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

Назначьте один экземпляр ButtonGroup всем связанным кнопкам с ToggleMode = true. Разные экземпляры не образуют общую группу. Ресурс по умолчанию локален для экземпляра уровня; он хранит членство, но не владеет жизненным циклом Control.

AllowUnpress = false по умолчанию не даёт снять текущую кнопку повторной активацией. Это не гарантия, что всегда выбран один элемент: группа начинается пустой, SetPressed(false) может очистить выбор, SetPressedNoSignal обходит согласование, а назначение группы не нормализует старые состояния. Установите начальный выбор явно.

GetPressedButton возвращает выбранную кнопку или null. Если код создал несколько включённых элементов, результат зависит от неупорядоченного обхода; сначала восстановите согласованное состояние. GetButtons возвращает массив общих ссылок без гарантии порядка дерева. Изменение этого массива не меняет членство; для исключения задайте ButtonGroup = null у самой кнопки.

Pressed передаёт кнопку, обрабатываемую группой при активации или обычном выборе SetPressed(true). При AllowUnpress = true активация может уже выключить переданную кнопку. Поэтому прочитайте ButtonPressed/GetPressedButton, если нужен итоговый выбор, а не источник действия.

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

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

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

Создаёт пустую группу с AllowUnpress = false и ResourceLocalToScene = true. Первоначальный выбор задаётся явно.

Свойства1

AllowUnpressСвойство
# AllowUnpress
C#
public bool AllowUnpress { get; set; }

Разрешить снять текущий выбор повторной активацией, false по умолчанию. Не запрещает программный SetPressed(false), пустую начальную группу или обход через SetPressedNoSignal.

Методы4

GetButtonsReckfell.Collections.Array<BaseButton>
# GetButtons
C#
public Reckfell.Collections.Array<BaseButton> GetButtons();

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

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

Массив общих ссылок BaseButton без стабильного порядка.

GetPressedButtonBaseButton
# GetPressedButton
C#
public BaseButton GetPressedButton();

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

Возвращает BaseButton

Выбранный BaseButton либо null.

IsAllowUnpressbool
# IsAllowUnpress
C#
public bool IsAllowUnpress();

Разрешить снять текущий выбор повторной активацией, false по умолчанию. Не запрещает программный SetPressed(false), пустую начальную группу или обход через SetPressedNoSignal.

Возвращает bool

true, если повторная активация может снять выбор.

SetAllowUnpressvoid
# SetAllowUnpress
C#
public void SetAllowUnpress(bool enabled);

Разрешить снять текущий выбор повторной активацией, false по умолчанию. Не запрещает программный SetPressed(false), пустую начальную группу или обход через SetPressedNoSignal.

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

Разрешить снять текущий выбор повторной активацией, false по умолчанию. Не запрещает программный SetPressed(false), пустую начальную группу или обход через SetPressedNoSignal.

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

PressedСобытие
# Pressed
C#
public event ButtonGroup.PressedEventHandler Pressed;

Передаёт участника при активации или выборе обычным SetPressed(true). При AllowUnpress этот участник уже может быть выключен. Не универсальный сигнал итогового выбора и не испускается SetPressedNoSignal.

Параметры обработчика
ИмяТипПо умолчанию
buttonBaseButton—
button

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

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

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

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

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