reckfellENGINE

Container

База алгоритма раскладки дочерних Control.

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

Container управляет прямыми дочерними Control. Обычная Entity-посредник не становится элементом раскладки; TopLevel и невидимые элементы исключаются из обычной сортировки. Сам базовый Container без скрипта не задаёт полезного размещения: выберите готовый Box/Grid/Panel или реализуйте свой алгоритм.

QueueSort откладывает проход и объединяет повторные запросы. Внутри прохода сначала приходят NotificationPreSortChildren и PreSortChildren, затем NotificationSortChildren и SortChildren. Это не глобальный сигнал завершения раскладки всего дерева. Измеряйте итоговые прямоугольники после необходимых проходов.

Для собственного алгоритма FitChildInRect принимает только прямого ребёнка и локальный прямоугольник контейнера. Он учитывает ограничения/SizeFlags и сбрасывает Rotation в 0, Scale в Vector2.One. Не анимируйте эти поля прямого ребёнка в расчёте сохранить их после следующей раскладки: поместите анимируемое содержимое во внутренний Control.

Методы _GetAllowedSizeFlagsHorizontal/Vertical — callbacks списка допустимых флагов собственного контейнера. Их generated base возвращает null; прямой вызов не является запросом текущих флагов ребёнка. AccessibilityRegion меняет семантическую роль для средств доступности, а не геометрию или фокус.

Раскладка контейнерами.

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

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

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

Создаёт базу собственного алгоритма раскладки; без реализации размещения предпочтите конкретный контейнер.

Свойства1

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

Флаг семантического региона для средств доступности, по умолчанию false. Не меняет геометрию/маршрут фокуса; интеграцию с экранным диктором проверяйте отдельно.

Методы6

FitChildInRectvoid
# FitChildInRect
C#
public void FitChildInRect(Control child, Rect2 rect);

Размещает только прямого ребёнка Control в локальной области с учётом ограничений/SizeFlags. Сбрасывает Rotation = 0 и Scale = One. Вызывайте из собственного алгоритма, а не для борьбы с раскладкой готового контейнера.

Параметры
ИмяТипПо умолчанию
childControl—
rectRect2—
child

Непустой прямой дочерний Control этого контейнера. Не чужой элемент и не дальний потомок.

rect

Прямоугольник с неотрицательным размером в локальных координатах контейнера; итог учитывает ограничения и SizeFlags.

IsAccessibilityRegionbool
# IsAccessibilityRegion
C#
public bool IsAccessibilityRegion();

Флаг семантического региона для средств доступности, по умолчанию false. Не меняет геометрию/маршрут фокуса; интеграцию с экранным диктором проверяйте отдельно.

Возвращает bool

Текущий bool флага, не результат проверки screen reader.

QueueSortvoid
# QueueSort
C#
public void QueueSort();

Запрашивает отложенный проход внутри дерева; повторные запросы объединяются. Вне дерева не выполняет раскладку. Это не синхронный пересчёт и не сброс Position вручную.

SetAccessibilityRegionvoid
# SetAccessibilityRegion
C#
public void SetAccessibilityRegion(bool region);

Флаг семантического региона для средств доступности, по умолчанию false. Не меняет геометрию/маршрут фокуса; интеграцию с экранным диктором проверяйте отдельно.

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

true для семантической роли региона, false для обычного контейнера.

_GetAllowedSizeFlagsHorizontalint[]
# _GetAllowedSizeFlagsHorizontal
C#
public virtual int[] _GetAllowedSizeFlagsHorizontal();

Callback допустимых горизонтальных значений SizeFlags для собственного контейнера. Возвращайте int[] значений enum, не флаги конкретного ребёнка. Generated base возвращает null.

Возвращает int[]

int[] значений вашей реализации; generated base возвращает null.

_GetAllowedSizeFlagsVerticalint[]
# _GetAllowedSizeFlagsVertical
C#
public virtual int[] _GetAllowedSizeFlagsVertical();

Callback допустимых вертикальных значений SizeFlags собственного контейнера. Generated base возвращает null; это не getter фактической раскладки.

Возвращает int[]

int[] значений вашей реализации; generated base возвращает null.

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

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

Сигнал после NotificationPreSortChildren и перед NotificationSortChildren. Подходит для подготовки алгоритма, не для чтения окончательных размеров всего дерева.

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

Сигнал после NotificationSortChildren данного контейнера. Можно реализовать своё размещение через FitChildInRect. Другие уровни иерархии ещё могут перераскладываться.

Поля и константы2

NotificationPreSortChildrenПоле
# NotificationPreSortChildren
C#
public const long NotificationPreSortChildren = 50;

Код уведомления перед сортировкой детей; используйте в _Notification собственного контейнера. Затем отправляется PreSortChildren.

NotificationSortChildrenПоле
# NotificationSortChildren
C#
public const long NotificationSortChildren = 51;

Код уведомления для размещения детей в проходе сортировки. После уведомления отправляется SortChildren. Не завершение всего UI-дерева.

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

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

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

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