ButtonGroup
Общий ресурс выбора среди toggle-кнопок.
Назначьте один экземпляр 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Конструктор
public ButtonGroup();Создаёт пустую группу с AllowUnpress = false и ResourceLocalToScene = true. Первоначальный выбор задаётся явно.
Свойства1
AllowUnpressСвойство
public bool AllowUnpress { get; set; }Разрешить снять текущий выбор повторной активацией, false по умолчанию. Не запрещает программный SetPressed(false), пустую начальную группу или обход через SetPressedNoSignal.
Методы4
GetButtonsReckfell.Collections.Array<BaseButton>
public Reckfell.Collections.Array<BaseButton> GetButtons();Возвращает массив общих ссылок на участников без гарантии порядка дерева. Изменение массива не меняет членство, кнопки не принадлежат массиву. Для исключения назначьте null в ButtonGroup самой кнопки.
Reckfell.Collections.Array<BaseButton>Массив общих ссылок BaseButton без стабильного порядка.
GetPressedButtonBaseButton
public BaseButton GetPressedButton();Возвращает включённого участника либо null. При нескольких включённых элементах после несогласованных программных записей результат зависит от неупорядоченного обхода.
BaseButtonВыбранный BaseButton либо null.
IsAllowUnpressbool
public bool IsAllowUnpress();Разрешить снять текущий выбор повторной активацией, false по умолчанию. Не запрещает программный SetPressed(false), пустую начальную группу или обход через SetPressedNoSignal.
booltrue, если повторная активация может снять выбор.
SetAllowUnpressvoid
public void SetAllowUnpress(bool enabled);Разрешить снять текущий выбор повторной активацией, false по умолчанию. Не запрещает программный SetPressed(false), пустую начальную группу или обход через SetPressedNoSignal.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledРазрешить снять текущий выбор повторной активацией, false по умолчанию. Не запрещает программный SetPressed(false), пустую начальную группу или обход через SetPressedNoSignal.
Сигналы и события1
PressedСобытие
public event ButtonGroup.PressedEventHandler Pressed;Передаёт участника при активации или выборе обычным SetPressed(true). При AllowUnpress этот участник уже может быть выключен. Не универсальный сигнал итогового выбора и не испускается SetPressedNoSignal.
| Имя | Тип | По умолчанию |
|---|---|---|
button | BaseButton | — |
buttonУчастник, вызвавший уведомление; проверьте его ButtonPressed для итогового состояния.