reckfellENGINE

FoldableContainer

Контейнер с заголовком и сворачиваемым содержимым.

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

Размещайте содержимое внутри одного вложенного VBoxContainer или другого контейнера компоновки: прямые дочерние Control получают одну и ту же внутреннюю область и могут перекрыться. При сворачивании они скрываются, при раскрытии показываются заново; для независимой видимости скрывайте элементы внутри вложенного контейнера.

Folded задаёт состояние без FoldingChanged; команды Fold/Expand испускают событие с фактическим состоянием. FoldableGroup объединяет разделы в аккордеон.

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

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

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

Создаёт сворачиваемый контейнер. Добавьте его родителю, задайте Title и поместите элементы содержимого во вложенный контейнер компоновки.

Свойства8

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

Общий ресурс координации раскрытия. Назначение добавляет контейнер в новую группу, удаляет из прежней и может сразу скорректировать Folded. null отключает групповую координацию.

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

Состояние сворачивания. Setter запрашивает обновление компоновки и не испускает FoldingChanged. Группа может запретить сворачивание последнего раскрытого участника; после назначения проверяйте фактическое IsFolded. Прямые дочерние Control при компоновке получают Visible = !Folded.

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

Языковая подсказка формирования заголовка. Не переводит его сама; перевод UI использует исходный Title отдельно.

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

Исходный заголовок; для показа применяется перевод UI. Getter возвращает исходную строку. Не создаёт дочернюю Label и не задаёт имя сущности.

TitleAlignmentСвойство
# TitleAlignment
C#
public HorizontalAlignment TitleAlignment { get; set; }

Выравнивание заголовка Left, Center или Right; Fill не поддерживается. При RTL левое/правое отображение зеркалится. Не выравнивает элементы содержимого.

TitlePositionСвойство
# TitlePosition
C#
public FoldableContainer.TitlePositionEnum TitlePosition { get; set; }

Размещает полосу заголовка сверху или снизу содержимого. Меняет компоновку, а не порядок дочерних сущностей.

TitleTextDirectionСвойство
# TitleTextDirection
C#
public Control.TextDirection TitleTextDirection { get; set; }

Направление формирования заголовка; не переворачивает исходную строку и не управляет направлением всего содержимого.

TitleTextOverrunBehaviorСвойство
# TitleTextOverrunBehavior
C#
public TextServer.OverrunBehavior TitleTextOverrunBehavior { get; set; }

Поведение заголовка при недостаточной ширине, например обрезка или многоточие. Не изменяет сохранённый Title.

Методы22

AddTitleBarControlvoid
# AddTitleBarControl
C#
public void AddTitleBarControl(Control control);

Переносит Control в служебные дочерние элементы полосы заголовка, удаляя его от прежнего родителя. Настройте владение/сохранение отдельно при сборке префаба. Не добавляйте тот же элемент повторно. Он удаляется вместе с контейнером, пока остаётся его дочерним.

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

Действительный Control для полосы заголовка.

Expandvoid
# Expand
C#
public void Expand();

Запрашивает Folded = false и испускает FoldingChanged с фактическим состоянием, даже если контейнер уже раскрыт. Раскрытие может свернуть других участников группы.

Foldvoid
# Fold
C#
public void Fold();

Запрашивает Folded = true, затем испускает FoldingChanged с фактическим состоянием даже при отсутствии изменения или запрете группы. Не удаляет содержимое.

GetFoldableGroupFoldableGroup
# GetFoldableGroup
C#
public FoldableGroup GetFoldableGroup();

Общий ресурс координации раскрытия. Назначение добавляет контейнер в новую группу, удаляет из прежней и может сразу скорректировать Folded. null отключает групповую координацию.

Возвращает FoldableGroup

Общий ресурс координации раскрытия. Назначение добавляет контейнер в новую группу, удаляет из прежней и может сразу скорректировать Folded. null отключает групповую координацию.

GetLanguagestring
# GetLanguage
C#
public string GetLanguage();

Языковая подсказка формирования заголовка. Не переводит его сама; перевод UI использует исходный Title отдельно.

Возвращает string

Языковая подсказка формирования заголовка. Не переводит его сама; перевод UI использует исходный Title отдельно.

GetTitlestring
# GetTitle
C#
public string GetTitle();

Исходный заголовок; для показа применяется перевод UI. Getter возвращает исходную строку. Не создаёт дочернюю Label и не задаёт имя сущности.

Возвращает string

Исходный заголовок; для показа применяется перевод UI. Getter возвращает исходную строку. Не создаёт дочернюю Label и не задаёт имя сущности.

GetTitleAlignmentHorizontalAlignment
# GetTitleAlignment
C#
public HorizontalAlignment GetTitleAlignment();

Выравнивание заголовка Left, Center или Right; Fill не поддерживается. При RTL левое/правое отображение зеркалится. Не выравнивает элементы содержимого.

Возвращает HorizontalAlignment

Выравнивание заголовка Left, Center или Right; Fill не поддерживается. При RTL левое/правое отображение зеркалится. Не выравнивает элементы содержимого.

GetTitleBarControlControl
# GetTitleBarControl
C#
public Control GetTitleBarControl(long index);

Возвращает зарегистрированный Control по текущему индексу. Заимствованная ссылка, не копия: не освобождайте элемент, если продолжаете использовать его в заголовке. После удаления индексы сдвигаются.

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

Текущий индекс от 0 до GetTitleBarControlCount() - 1.

Возвращает Control

Возвращает зарегистрированный Control по текущему индексу. Заимствованная ссылка, не копия: не освобождайте элемент, если продолжаете использовать его в заголовке. После удаления индексы сдвигаются.

GetTitleBarControlCountint
# GetTitleBarControlCount
C#
public int GetTitleBarControlCount();

Количество элементов, добавленных через AddTitleBarControl; не количество дочерних элементов содержимого.

Возвращает int

Количество элементов, добавленных через AddTitleBarControl; не количество дочерних элементов содержимого.

GetTitlePositionFoldableContainer.TitlePositionEnum
# GetTitlePosition
C#
public FoldableContainer.TitlePositionEnum GetTitlePosition();

Размещает полосу заголовка сверху или снизу содержимого. Меняет компоновку, а не порядок дочерних сущностей.

Возвращает FoldableContainer.TitlePositionEnum

Размещает полосу заголовка сверху или снизу содержимого. Меняет компоновку, а не порядок дочерних сущностей.

GetTitleTextDirectionControl.TextDirection
# GetTitleTextDirection
C#
public Control.TextDirection GetTitleTextDirection();

Направление формирования заголовка; не переворачивает исходную строку и не управляет направлением всего содержимого.

Возвращает Control.TextDirection

Направление формирования заголовка; не переворачивает исходную строку и не управляет направлением всего содержимого.

GetTitleTextOverrunBehaviorTextServer.OverrunBehavior
# GetTitleTextOverrunBehavior
C#
public TextServer.OverrunBehavior GetTitleTextOverrunBehavior();

Поведение заголовка при недостаточной ширине, например обрезка или многоточие. Не изменяет сохранённый Title.

Возвращает TextServer.OverrunBehavior

Поведение заголовка при недостаточной ширине, например обрезка или многоточие. Не изменяет сохранённый Title.

IsFoldedbool
# IsFolded
C#
public bool IsFolded();

Состояние сворачивания. Setter запрашивает обновление компоновки и не испускает FoldingChanged. Группа может запретить сворачивание последнего раскрытого участника; после назначения проверяйте фактическое IsFolded. Прямые дочерние Control при компоновке получают Visible = !Folded.

Возвращает bool

Состояние сворачивания. Setter запрашивает обновление компоновки и не испускает FoldingChanged. Группа может запретить сворачивание последнего раскрытого участника; после назначения проверяйте фактическое IsFolded. Прямые дочерние Control при компоновке получают Visible = !Folded.

RemoveTitleBarControlvoid
# RemoveTitleBarControl
C#
public void RemoveTitleBarControl(Control control);

Удаляет зарегистрированный Control из полосы и отсоединяет от родителя, не освобождая его. После вызова добавьте другому родителю либо освободите, если он больше не нужен.

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

Действительный Control для полосы заголовка.

SetFoldableGroupvoid
# SetFoldableGroup
C#
public void SetFoldableGroup(FoldableGroup buttonGroup);

Общий ресурс координации раскрытия. Назначение добавляет контейнер в новую группу, удаляет из прежней и может сразу скорректировать Folded. null отключает групповую координацию.

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

Общий FoldableGroup или null.

SetFoldedvoid
# SetFolded
C#
public void SetFolded(bool folded);

Состояние сворачивания. Setter запрашивает обновление компоновки и не испускает FoldingChanged. Группа может запретить сворачивание последнего раскрытого участника; после назначения проверяйте фактическое IsFolded. Прямые дочерние Control при компоновке получают Visible = !Folded.

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

Запрошенное состояние; группа может отклонить сворачивание.

SetLanguagevoid
# SetLanguage
C#
public void SetLanguage(string language);

Языковая подсказка формирования заголовка. Не переводит его сама; перевод UI использует исходный Title отдельно.

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

Код языковой подсказки формирования.

SetTitlevoid
# SetTitle
C#
public void SetTitle(string text);

Исходный заголовок; для показа применяется перевод UI. Getter возвращает исходную строку. Не создаёт дочернюю Label и не задаёт имя сущности.

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

Исходный заголовок для перевода UI.

SetTitleAlignmentvoid
# SetTitleAlignment
C#
public void SetTitleAlignment(HorizontalAlignment alignment);

Выравнивание заголовка Left, Center или Right; Fill не поддерживается. При RTL левое/правое отображение зеркалится. Не выравнивает элементы содержимого.

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

Left, Center или Right; Fill не допускается.

SetTitlePositionvoid
# SetTitlePosition
C#
public void SetTitlePosition(FoldableContainer.TitlePositionEnum titlePosition);

Размещает полосу заголовка сверху или снизу содержимого. Меняет компоновку, а не порядок дочерних сущностей.

Параметры
ИмяТипПо умолчанию
titlePositionFoldableContainer.TitlePositionEnum—
titlePosition

Положение заголовка сверху или снизу.

SetTitleTextDirectionvoid
# SetTitleTextDirection
C#
public void SetTitleTextDirection(Control.TextDirection textDirection);

Направление формирования заголовка; не переворачивает исходную строку и не управляет направлением всего содержимого.

Параметры
ИмяТипПо умолчанию
textDirectionControl.TextDirection—
textDirection

Направление формирования заголовка.

SetTitleTextOverrunBehaviorvoid
# SetTitleTextOverrunBehavior
C#
public void SetTitleTextOverrunBehavior(TextServer.OverrunBehavior overrunBehavior);

Поведение заголовка при недостаточной ширине, например обрезка или многоточие. Не изменяет сохранённый Title.

Параметры
ИмяТипПо умолчанию
overrunBehaviorTextServer.OverrunBehavior—
overrunBehavior

Поведение заголовка при недостаточной ширине.

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

FoldingChangedСобытие
# FoldingChanged
C#
public event FoldableContainer.FoldingChangedEventHandler FoldingChanged;

Уведомление команды Fold/Expand или пользовательского переключения. isFolded — фактическое состояние, не обещание, что оно изменилось. Прямой SetFolded и автоматическое переключение других участников группы не обязаны испускать это событие.

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

Фактическое состояние после запроса, не признак смены значения.

FoldableContainer.TitlePositionEnum

ЗначениеОписание
Bottom = 1

Заставляет заголовок отображаться внизу контейнера. Также делает все StyleBoxes перевернутыми по вертикали.

Top = 0

Размещает заголовок в верхней части контейнера.

Свойства темы

Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.

Ключ и типОписание
collapsed_font_color
Color

Цвет шрифта заголовка в свернутом виде.

По умолчанию: Color(1, 1, 1, 1)
font_color
Color

Цвет шрифта заголовка в развернутом виде.

По умолчанию: Color(0.875, 0.875, 0.875, 1)
font_outline_color
Color

Цвет контура шрифта заголовка.

По умолчанию: Color(1, 1, 1, 1)
hover_font_color
Color

Цвет шрифта заголовка при наведении.

По умолчанию: Color(0.95, 0.95, 0.95, 1)
h_separation
int

Горизонтальное разделение между значком заголовка и текстом, а также между элементами управления строки заголовка.

По умолчанию: 2
icon_max_width
int

Максимальная допустимая ширина FoldableContainerВысота регулируется в соответствии с соотношением значков.

По умолчанию: 0
outline_size
int

Размер контура шрифта заголовка.

По умолчанию: 0
font
Font

Шрифт заголовка.

font_size
int

Размер шрифта заголовка.

expanded_arrow
Texture2D

Значок заголовка, используемый при раскрытии.

expanded_arrow_mirrored
Texture2D

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

folded_arrow
Texture2D

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

folded_arrow_mirrored
Texture2D

Значок заголовка, используемый в свернутом виде (для макетов с справа налево).

expanded_sound
AudioStream

Проигрывается при расширении резервуара любым методом ввода данных.

Сосредоточься.

focus_sound
AudioStream

Играл, когда это FoldableContainer Мышь или мышечная фокусировка не играют в фокус-звук.

folded_sound
AudioStream

Проигрывается при сложении контейнера любым методом ввода данных. Примечание: Это не работает, если контейнер сложен в результате того, что он является частью FoldableGroup и был расширен еще один контейнер этой же группы.

Сосредоточься

focus
StyleBox

Фон используется, когда FoldableContainer имеет фокус GUI. FoldableContainer.focus StyleBox отображается над базовым StyleBox, поэтому следует использовать частично прозрачный StyleBox, чтобы базовый StyleBox оставался видимым. StyleBox, представляющий контур или подчеркивание, хорошо подходит для этой цели. Чтобы отключить визуальный эффект фокуса, назначьте ресурс StyleBoxEmpty. Обратите внимание, что отключение визуального эффекта фокуса навредит удобству использования навигации с помощью клавиатуры/контроллера, поэтому это не рекомендуется по соображениям доступности.

panel
StyleBox

Фон по умолчанию для FoldableContainer.

title_collapsed_hover_panel
StyleBox

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

title_collapsed_panel
StyleBox

Фон по умолчанию для заголовка FoldableContainer в свернутом виде.

title_hover_panel
StyleBox

Фон, используемый при попадании курсора мыши в область заголовка при его развертывании.

title_panel
StyleBox

Фон по умолчанию для заголовка FoldableContainer при раскрытии.

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

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

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

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