reckfellENGINE

Control

Прямоугольная сущность интерфейса: раскладка, фокус и GUI-ввод.

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

Control хранит прямоугольник интерфейса, anchors/offsets, ограничения размеров, тему и фокус. Он входит в обычную иерархию Entity. Для экранного HUD, независимого от камеры мира, используйте соответствующий CanvasLayer.

Обычный родитель Control допускает ручную раскладку; Container управляет подходящими прямыми дочерними Control сам. Не смешивайте эти способы для одной позиции. Minimum, maximum и флаги размера влияют на итоговый прямоугольник. GUI-ввод обрабатывайте в _GuiInput(); для клавиатуры нужен фокус. Само наличие FocusMode не назначает начальный выбор.

Рабочий пример.

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

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

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

Свойства63

AccessibilityControlsEntitiesСвойство
# AccessibilityControlsEntities
C#
public Reckfell.Collections.Array<EntityPath> AccessibilityControlsEntities { get; set; }

Пути к узлам, которые контролируются данным узлом.

AccessibilityDescribedByEntitiesСвойство
# AccessibilityDescribedByEntities
C#
public Reckfell.Collections.Array<EntityPath> AccessibilityDescribedByEntities { get; set; }

Пути к узлам, описывающие данный узел.

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

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

AccessibilityFlowToEntitiesСвойство
# AccessibilityFlowToEntities
C#
public Reckfell.Collections.Array<EntityPath> AccessibilityFlowToEntities { get; set; }

Пути к узлам, в которые впадает данный узел.

AccessibilityLabeledByEntitiesСвойство
# AccessibilityLabeledByEntities
C#
public Reckfell.Collections.Array<EntityPath> AccessibilityLabeledByEntities { get; set; }

Пути к узлам, которые маркируют данный узел.

AccessibilityLiveСвойство
# AccessibilityLive
C#
public AccessibilityServer.AccessibilityLiveMode AccessibilityLive { get; set; }

Режим обновления активной области. Активная область — это Entity, который обновляется в результате внешнего события, когда фокус пользователя может быть в другом месте.

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

Удобочитаемое имя узла, которое сообщается вспомогательным приложениям.

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

Прикрепляет нижний край узла к началу координат, центру или концу его родительского элемента управления. Изменяет способ обновления нижнего смещения при перемещении узла или изменении его размера. Для удобства можно использовать одну из констант Control.Anchor.

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

Привязывает левый край узла к началу координат, центру или концу его родительского элемента управления. Изменяет способ обновления левого смещения при перемещении узла или изменении размера. Для удобства можно использовать одну из констант Control.Anchor.

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

Привязывает правый край узла к началу координат, центру или концу его родительского элемента управления. Изменяет способ обновления правого смещения при перемещении узла или изменении его размера. Для удобства можно использовать одну из констант Control.Anchor.

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

Прикрепляет верхний край узла к началу координат, центру или концу его родительского элемента управления. Изменяет способ обновления верхнего смещения при перемещении узла или изменении его размера. Для удобства можно использовать одну из констант Control.Anchor.

AnchorsPresetСвойство
# AnchorsPreset
C#
public int AnchorsPreset { get; set; }
AutoTranslateСвойство · Устарело
# AutoTranslate
C#
public bool AutoTranslate { get; set; }

Включает/выключает автоматическую замену текста на переведенную версию в зависимости от текущей локали.

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

Включает, следует ли обрезать отрисовку дочерних элементов на основе CanvasItem до прямоугольника этого элемента управления. Если true, части дочернего элемента, которые будут видны за пределами прямоугольника этого элемента управления, не будут отрисовываться и не будут получать входные данные.

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

Дополнительный предел по осям. Отрицательная компонента нормализуется к -1 и означает отсутствие собственного предела; ноль является пределом, а не значением «без ограничения». Не задавайте minimum выше maximum.

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

Дополнительный минимум по осям, а не окончательный размер. Встроенный минимум текста/темы/содержимого также участвует; смотрите GetCombinedMinimumSize(). Для динамического собственного требования используйте _GetMinimumSize и UpdateMinimumSize.

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

Определяет, какие элементы управления могут быть сфокусированы вместе с Control.FocusMode. См. Control.GetFocusModeWithOverride. Поскольку поведение по умолчанию — Control.FocusBehaviorRecursiveEnum.Inherited, это можно использовать для предотвращения фокусировки всех дочерних элементов управления.

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

Допуск к фокусу. All включает обычную клавиатурную навигацию, None исключает обычный фокус. Назначьте начальный GrabFocus отдельно. Видимость и рекурсивные правила родителя тоже учитываются; Disabled кнопки не заменяет None.

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

Сообщает Reckfell, какому узлу следует передать фокус, если пользователь нажимает стрелку вниз на клавиатуре или вниз на геймпаде по умолчанию. Вы можете изменить клавишу, отредактировав действие ввода ProjectSettings.input/ui_down. Узел должен быть Control. Если это свойство не задано, Reckfell передаст фокус ближайшему Control к нижней части этого.

Сосредоточься на ближнем

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

Сообщает Reckfell, какому узлу следует передать фокус, если пользователь нажимает левую стрелку на клавиатуре или левую на геймпаде по умолчанию. Вы можете изменить клавишу, отредактировав действие ввода ProjectSettings.input/ui_left. Узел должен быть Control. Если это свойство не задано, Reckfell передаст фокус ближайшему Control слева от этого.

Сосредоточься на своем соседе

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

Сообщает Reckfell, какому узлу следует передать фокус, если пользователь нажимает стрелку вправо на клавиатуре или вправо на геймпаде по умолчанию. Вы можете изменить клавишу, отредактировав действие ввода ProjectSettings.input/ui_right. Узел должен быть Control. Если это свойство не задано, Reckfell передаст фокус ближайшему Control справа от этого.

Сосредоточься на ближнем

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

Сообщает Reckfell, какому узлу следует передать фокус, если пользователь нажимает верхнюю стрелку на клавиатуре или верхнюю на геймпаде по умолчанию. Вы можете изменить клавишу, отредактировав действие ввода ProjectSettings.input/ui_up. Узел должен быть Control. Если это свойство не задано, Reckfell передаст фокус ближайшему Control к верхней части этого.

Сосредоточься на следующем

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

Путь к следующему Control для обычного перехода Tab относительно этого элемента. Используйте GetPathTo(target) и проверяйте существование/видимость цели при изменении дерева. Направления стрелок задаются отдельно через FocusNeighbor*.

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

Сообщает Reckfell, на какой узел следует направить фокус, если пользователь нажимает [kbd]Shift + Tab[/kbd] на клавиатуре по умолчанию. Вы можете изменить клавишу, отредактировав действие ввода ProjectSettings.input/ui_focus_prev. Если это свойство не задано, Reckfell выберет «лучшее предположение» на основе окружающих узлов в дереве сцены.

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

Глобальное положение узла относительно мира (обычно по отношению к CanvasLayer).

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

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

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

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

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

Управляет направлением макета и направлением написания текста. Для некоторых языков (например, арабского и иврита) необходимы макеты справа налево. См. также Control.IsLayoutRtl.

LayoutModeСвойство
# LayoutMode
C#
public int LayoutMode { get; set; }
LocalizeNumeralSystemСвойство
# LocalizeNumeralSystem
C#
public bool LocalizeNumeralSystem { get; set; }

Если true, автоматически преобразует номера строк кода, индексы списков, значения SpinBox и ProgressBar из западно-арабской системы счисления (0..9) в системы счисления, используемые в текущей локали. Примечание: Числа в тексте не преобразуются автоматически, это можно сделать вручную, используя TextServer.FormatNumber.

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

Определяет, какие элементы управления могут получать ввод мыши вместе с Control.MouseFilter. См. Control.GetMouseFilterWithOverride. Поскольку поведение по умолчанию — Control.MouseBehaviorRecursiveEnum.Inherited, это можно использовать для предотвращения получения ввода мыши всеми дочерними элементами управления.

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

Форма курсора по умолчанию для этого элемента управления. Полезно для плагинов Reckfell и приложений или игр, которые используют системные курсоры мыши. Примечание: В Linux формы могут различаться в зависимости от темы курсора системы.

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

Stop останавливает обычное распространение указателя вверх; Pass допускает передачу родителю и не является щелчком сквозь соседние элементы; Ignore исключает элемент из поиска получателя. Клавиатурный фокус регулируется отдельно.

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

При включении события колеса прокрутки, обработанные Control.GuiInput, будут передаваться родительскому элементу управления, даже если Control.MouseFilter установлен на Control.MouseFilterEnum.Stop. Вы должны отключить его в корне вашего пользовательского интерфейса, если вы не хотите, чтобы события прокрутки передавались в обработку Entity._UnhandledInput. Примечание: Поскольку это свойство по умолчанию равно true, это позволяет вложенным прокручиваемым контейнерам работать из коробки.

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

Расстояние между нижним краем узла и его родительским элементом управления, основанное на Control.AnchorBottom. Смещения часто контролируются одним или несколькими родительскими узлами Container, поэтому вам не следует изменять их вручную, если ваш узел является прямым потомком Container. Смещения обновляются автоматически при перемещении или изменении размера узла.

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

Расстояние между левым краем узла и его родительским элементом управления, основанное на Control.AnchorLeft. Смещения часто контролируются одним или несколькими родительскими узлами Container, поэтому вам не следует изменять их вручную, если ваш узел является прямым потомком Container. Смещения обновляются автоматически при перемещении или изменении размера узла.

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

Расстояние между правым краем узла и его родительским элементом управления, основанное на Control.AnchorRight. Смещения часто контролируются одним или несколькими родительскими узлами Container, поэтому вам не следует изменять их вручную, если ваш узел является прямым потомком Container. Смещения обновляются автоматически при перемещении или изменении размера узла.

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

Расстояние между верхним краем узла и его родительским элементом управления, основанное на Control.AnchorTop. Смещения часто контролируются одним или несколькими родительскими узлами Container, поэтому вам не следует изменять их вручную, если ваш узел является прямым потомком Container. Смещения обновляются автоматически при перемещении или изменении размера узла.

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

Если true, применяются все свойства преобразования смещения. В противном случае преобразование смещения не применяется, и свойства не оказывают никакого эффекта.

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

Позиция опорной точки, используемая Control.OffsetTransformRotation и Control.OffsetTransformScale, измеряется в абсолютных единицах. Конечная позиция опорной точки — это суммарное значение этого свойства и Control.OffsetTransformPivotRatio. Не оказывает никакого эффекта, если Control.OffsetTransformEnabled не имеет значения true.

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

Аналогично Control.OffsetTransformPivot, но выражено в единицах относительно Control Control.Size, где Vector2(0, 0) — верхний левый угол этого элемента управления, а Vector2(1, 1) — его нижний правый угол. Окончательная позиция точки опоры — это суммарное значение этого свойства и Control.OffsetTransformPivot. Не оказывает никакого эффекта, если Control.OffsetTransformEnabled не имеет значения true.

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

Смещение положения в абсолютных единицах. Итоговое смещение представляет собой суммарное значение этого свойства и Control.OffsetTransformPositionRatio. Не оказывает никакого эффекта, если Control.OffsetTransformEnabled не имеет значения true.

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

Аналогично Control.OffsetTransformPosition, но выражено в единицах относительно Control Control.Size, где Vector2(0, 0) — верхний левый угол этого элемента управления, а Vector2(1, 1) — его нижний правый угол. Итоговое смещение — это суммарное значение этого свойства и Control.OffsetTransformPosition. Не оказывает никакого эффекта, если Control.OffsetTransformEnabled не имеет значения true.

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

Смещение вращения. Точка опоры вращения определяется параметрами Control.OffsetTransformPivot и Control.OffsetTransformPivotRatio. Не оказывает никакого эффекта, если параметр Control.OffsetTransformEnabled не имеет значения true.

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

Смещение масштаба. Опорная точка масштаба определяется параметрами Control.OffsetTransformPivot и Control.OffsetTransformPivotRatio. Не оказывает никакого эффекта, если параметр Control.OffsetTransformEnabled не имеет значения true.

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

Если true, смещенные трансформации применяются только визуально и не влияют на входные данные. Control , будет по-прежнему получать информацию о входных событиях в своем первоначальном месте до того, как будет применена трансформация с зачетом. Если false, вся эта трансформация Control затрагивается, и входные мероприятия регистрируют место Control Визуальный. Не имеет никакого эффекта, если только Control.OffsetTransformEnabled это true.

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

По умолчанию точкой опоры узла является его верхний левый угол. При изменении его Control.Rotation или Control.Scale он будет вращаться или масштабироваться вокруг этой точки опоры. Фактическое смещение — это суммарное значение этого свойства и Control.PivotOffsetRatio.

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

Аналогично Control.PivotOffset, но выражено в виде равномерного вектора, где Vector2(0, 0) — верхний левый угол этого элемента управления, а Vector2(1, 1) — его нижний правый угол. Установите это свойство в Vector2(0.5, 0.5), чтобы выполнить поворот вокруг центра этого элемента управления. Фактическое смещение — это суммарное значение этого свойства и Control.PivotOffset.

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

Положение узла относительно содержащего его узла. Соответствует верхнему левому углу прямоугольника. Свойство не зависит от Control.PivotOffset.

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

Если true, это Control's дети будут использовать значение, возвращенное Control.GetCombinedMaximumSize в их собственных расчетах размера.

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

Вращение узла вокруг его опорной точки в радианах. См. Control.PivotOffset, чтобы изменить положение опорной точки. Примечание: Это свойство редактируется в инспекторе в градусах. Если вы хотите использовать градусы в скрипте, используйте Control.RotationDegrees.

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

Вспомогательное свойство для доступа к Control.Rotation в градусах вместо радиан.

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

Шкала узла по отношению к его Control.Size. Переключить это имущество на узел вокруг узла Control.PivotOffset. . . . . ControlПодсказка также будет масштабироваться в зависимости от этого значения. Примечание: Для поддержки нескольких решений в вашем проекте используйте соответствующий режим растягивания, как описано в документация вместо того, чтобы осуществлять контроль в индивидуальном порядке. Примечание: FontFile.Oversampling не принимает Control Control.Scale для обеспечения того, чтобы текст оставался хрустящим, независимо от масштаба, вы можете обеспечить возможность перевода шрифта MSDF ProjectSettings.gui/theme/default_font_multichannel_signed_distance_field (применяется только к шрифту проекта по умолчанию) Мультиканальное поле в опционах импорта динамических шрифтов. SystemFont.MultichannelSignedDistanceField может быть включён инспектор. Примечание: Если Control Узел - это ребёнок Container Узел, шкала будет переустановлена Vector2(1, 1) когда сцена будет мгновенной. ControlВзвешенная шкала, подождите одну раму с помощью await get_tree().process_frame потом поставь его. Control.Scale - свойство.

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

Entity, который должен быть родителем сфокусированного Control, чтобы сочетание клавиш было активировано. Если null, сочетание клавиш может быть активировано, когда любой элемент управления находится в фокусе (глобальное сочетание клавиш). Это позволяет принимать сочетания клавиш только тогда, когда пользователь сфокусировал определенную область графического интерфейса.

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

Текущий размер прямоугольника в локальных логических координатах. Присваивание учитывает minimum/maximum. Размер прямого ребёнка Container может быть перезаписан сортировкой; при разнесённых anchors изменение родителя тоже пересчитывает края.

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

Флаги горизонтального размещения в поддерживающем контейнере. Fill заполняет выделенную долю, Expand запрашивает участие в распределении места; ExpandFill объединяет их. Они не заменяют anchors под обычным родителем.

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

Относительный вес растяжения для контейнеров, которые его используют. Minimum, maximum, промежутки и флаги других элементов влияют на результат; вес 2 не гарантирует ровно двойную итоговую ширину.

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

Сообщает родительским узлам Container, как они должны изменить размер и разместить узел на оси Y. Используйте комбинацию констант Control.SizeFlags, чтобы изменить флаги. Посмотрите константы, чтобы узнать, что делает каждая из них.

Тема

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

Ресурс Theme, который использует этот узел и все его дочерние элементы Control и Window. Если дочерний узел имеет свой собственный набор ресурсов Theme, элементы темы объединяются с определениями дочернего элемента, имеющими более высокий приоритет. Примечание: Стили Window не будут иметь никакого эффекта, если окно не встроено.

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

Название вариации тематического типа, использованное этим Control В случае пустости используется название класса узла (например. Button - контроль), а также названия всех классов родителей (в порядке наследования). В случае установки это имущество придает первостепенное значение типу указанного имени. Этот тип в свою очередь может расширить другой тип, образуя цепь зависимости. См. Theme.SetTypeVariation. Если тематический элемент не может быть найден с использованием этого типа или его базовых типов, поиск возвращается на названия классов. Примечание: Чтобы посмотреть вверх Controlсобственные вещи используют различные get_theme_* методов без уточнения theme_type. Примечание: Theme Товары ищут в заказе на дерево, от ветки до корня, где каждый Control Узел проверяется на его Control.Theme :: имущество: в случае любого типа/класса возвращается наиболее раннее совпадение. Theme и по умолчанию Theme Проверяются последним.

TooltipAutoTranslateModeСвойство
# TooltipAutoTranslateMode
C#
public Entity.AutoTranslateModeEnum TooltipAutoTranslateMode { get; set; }

Определяет, должен ли текст подсказки автоматически меняться на переведенную версию в зависимости от текущей локали. Использует тот же режим автоматического перевода, что и этот элемент управления, если задано значение Entity.AutoTranslateModeEnum.Inherit. Примечание: Подсказки, настроенные с помощью Control._MakeCustomTooltip, не используют этот режим автоматического перевода автоматически.

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

Текст подсказки по умолчанию. Подсказка появляется, когда курсор мыши пользователя остается неподвижным над этим элементом управления в течение нескольких секунд, при условии, что свойство Control.MouseFilter не равно Control.MouseFilterEnum.Ignore. Время, необходимое для появления подсказки, можно изменить с помощью настройки ProjectSettings.gui/timers/tooltip_delay_sec. Эта строка является возвращаемым значением по умолчанию для Control.GetTooltip. Переопределите Control.GetTooltip для динамической генерации текста подсказки. Переопределите Control._MakeCustomTooltip для настройки пользовательского интерфейса и поведения подсказки. Всплывающее окно подсказки будет использовать либо реализацию по умолчанию, либо пользовательскую, которую вы можете предоставить, переопределив Control._MakeCustomTooltip. Подсказка по умолчанию включает PopupPanel и Label, свойства темы которых можно настроить с помощью методов Theme с "TooltipPanel" и "TooltipLabel" соответственно. Например:

C#
var styleBox = new StyleBoxFlat();
styleBox.SetBgColor(new Color(1, 1, 0));
styleBox.SetBorderWidthAll(2);
// We assume here that the `Theme` property has been assigned a custom Theme beforehand.
Theme.SetStyleBox("panel", "TooltipPanel", styleBox);
Theme.SetColor("font_color", "TooltipLabel", new Color(0, 1, 1));
TranslationContextСвойство
# TranslationContext
C#
public StringName TranslationContext { get; set; }

Контекст автоматического поиска перевода для Control. Для Label задавайте его до Text: изменение контекста само по себе не пересчитывает существующий внутренний текст. После изменения отправьте NotificationTranslationChanged, если нужен немедленный повторный поиск.

Методы203

AcceptEventvoid
# AcceptEvent
C#
public void AcceptEvent();

Помечает текущее GUI-событие обработанным в viewport. Вызывайте в _GuiInput после своей обработки, чтобы событие не дошло до дальнейшего GUI/_UnhandledInput. Уже выполненный _Input и прямой опрос состояния Input этим не отменяются.

AccessibilityDragvoid
# AccessibilityDrag
C#
public void AccessibilityDrag();

Запускает операцию перетаскивания без использования мыши.

AccessibilityDropvoid
# AccessibilityDrop
C#
public void AccessibilityDrop();

Завершает операцию перетаскивания без использования мыши.

AddThemeColorOverridevoid
# AddThemeColorOverride
C#
public void AddThemeColorOverride(StringName name, Color color);

Создает локальное переопределение для темы Color с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Control.RemoveThemeColorOverride. С. также Control.GetThemeColor. Пример: Переопределить цвет Label и сбросить его позже:

C#
// Given the child Label node "MyLabel", override its font color with a custom value.
GetEntity<Label>("MyLabel").AddThemeColorOverride("font_color", new Color(1, 0.5f, 0));
// Reset the font color of the child label.
GetEntity<Label>("MyLabel").RemoveThemeColorOverride("font_color");
// Alternatively it can be overridden with the default value from the Label type.
GetEntity<Label>("MyLabel").AddThemeColorOverride("font_color", GetThemeColor("font_color", "Label"));
Параметры
ИмяТипПо умолчанию
nameStringName—
colorColor—
AddThemeConstantOverridevoid
# AddThemeConstantOverride
C#
public void AddThemeConstantOverride(StringName name, int constant);

Создает локальное переопределение для константы темы с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Control.RemoveThemeConstantOverride. См. также Control.GetThemeConstant.

Параметры
ИмяТипПо умолчанию
nameStringName—
constantint—
AddThemeFontOverridevoid
# AddThemeFontOverride
C#
public void AddThemeFontOverride(StringName name, Font font);

Создает локальное переопределение для темы Font с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Control.RemoveThemeFontOverride. См. также Control.GetThemeFont.

Параметры
ИмяТипПо умолчанию
nameStringName—
fontFont—
AddThemeFontSizeOverridevoid
# AddThemeFontSizeOverride
C#
public void AddThemeFontSizeOverride(StringName name, int fontSize);

Создает локальное переопределение для размера шрифта темы с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Control.RemoveThemeFontSizeOverride. См. также Control.GetThemeFontSize.

Параметры
ИмяТипПо умолчанию
nameStringName—
fontSizeint—
AddThemeIconOverridevoid
# AddThemeIconOverride
C#
public void AddThemeIconOverride(StringName name, Texture2D texture);

Создает локальное переопределение для значка темы с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Control.RemoveThemeIconOverride. См. также Control.GetThemeIcon.

Параметры
ИмяТипПо умолчанию
nameStringName—
textureTexture2D—
AddThemeSoundOverridevoid
# AddThemeSoundOverride
C#
public void AddThemeSoundOverride(StringName name, AudioStream audio);

Создать локальное переключение для темы звука с указанным name. Местные перестановки всегда имеют преимущественную силу при загрузке тематических элементов для контроля. Control.RemoveThemeSoundOverride. См. также Control.GetThemeSound.

Параметры
ИмяТипПо умолчанию
nameStringName—
audioAudioStream—
AddThemeStyleboxOverridevoid
# AddThemeStyleboxOverride
C#
public void AddThemeStyleboxOverride(StringName name, StyleBox stylebox);

Создает локальное переопределение для темы StyleBox с указанным name. Локальные переопределения всегда имеют приоритет при извлечении элементов темы для элемента управления. Переопределение можно удалить с помощью Control.RemoveThemeStyleboxOverride. См. также Control.GetThemeStylebox. Пример: Измените свойство в StyleBox, продублировав его:

C#
// The snippet below assumes the child node "MyButton" has a StyleBoxFlat assigned.
// Resources are shared across instances, so we need to duplicate it
// to avoid modifying the appearance of all other buttons.
StyleBoxFlat newStyleboxNormal = GetEntity<Button>("MyButton").GetThemeStylebox("normal").Duplicate() as StyleBoxFlat;
newStyleboxNormal.BorderWidthTop = 3;
newStyleboxNormal.BorderColor = new Color(0, 1, 0.5f);
GetEntity<Button>("MyButton").AddThemeStyleboxOverride("normal", newStyleboxNormal);
// Remove the stylebox override.
GetEntity<Button>("MyButton").RemoveThemeStyleboxOverride("normal");
Параметры
ИмяТипПо умолчанию
nameStringName—
styleboxStyleBox—
BeginBulkThemeOverridevoid
# BeginBulkThemeOverride
C#
public void BeginBulkThemeOverride();

Запрещает методам *_theme_*_override выдавать Control.NotificationThemeChanged до тех пор, пока не будет вызван Control.EndBulkThemeOverride.

EndBulkThemeOverridevoid
# EndBulkThemeOverride
C#
public void EndBulkThemeOverride();

Завершает массовое обновление переопределения темы. См. Control.BeginBulkThemeOverride.

FindNextValidFocusControl
# FindNextValidFocus
C#
public Control FindNextValidFocus();

Находит следующий (ниже в дереве) Control, который может получить фокус.

Возвращает Control
FindPrevValidFocusControl
# FindPrevValidFocus
C#
public Control FindPrevValidFocus();

Находит предыдущий (выше в дереве) Control, который может получить фокус.

Возвращает Control
FindValidFocusNeighborControl
# FindValidFocusNeighbor
C#
public Control FindValidFocusNeighbor(Side side);

Находит следующий Control, который может получить фокус на указанной Side. Примечание: Это отличается от Control.GetFocusNeighbor, который возвращает путь указанного соседа фокуса.

Параметры
ИмяТипПо умолчанию
sideSide—
Возвращает Control
ForceDragvoid
# ForceDrag
C#
public void ForceDrag(Variant data, Control preview);

Принудительно перетаскивает и обходит Control._GetDragData и Control.SetDragPreview, передавая data и preview. Перетаскивание начнется, даже если мышь не находится над этим элементом управления и не нажата на него. Методы Control._CanDropData и Control._DropData должны быть реализованы в элементах управления, которые хотят получать данные перетаскивания.

Параметры
ИмяТипПо умолчанию
dataVariant—
previewControl—
GetAccessibilityControlsEntitiesReckfell.Collections.Array<EntityPath>
# GetAccessibilityControlsEntities
C#
public Reckfell.Collections.Array<EntityPath> GetAccessibilityControlsEntities();
Возвращает Reckfell.Collections.Array<EntityPath>
GetAccessibilityDescribedByEntitiesReckfell.Collections.Array<EntityPath>
# GetAccessibilityDescribedByEntities
C#
public Reckfell.Collections.Array<EntityPath> GetAccessibilityDescribedByEntities();
Возвращает Reckfell.Collections.Array<EntityPath>
GetAccessibilityDescriptionstring
# GetAccessibilityDescription
C#
public string GetAccessibilityDescription();
Возвращает string
GetAccessibilityFlowToEntitiesReckfell.Collections.Array<EntityPath>
# GetAccessibilityFlowToEntities
C#
public Reckfell.Collections.Array<EntityPath> GetAccessibilityFlowToEntities();
Возвращает Reckfell.Collections.Array<EntityPath>
GetAccessibilityLabeledByEntitiesReckfell.Collections.Array<EntityPath>
# GetAccessibilityLabeledByEntities
C#
public Reckfell.Collections.Array<EntityPath> GetAccessibilityLabeledByEntities();
Возвращает Reckfell.Collections.Array<EntityPath>
GetAccessibilityLiveAccessibilityServer.AccessibilityLiveMode
# GetAccessibilityLive
C#
public AccessibilityServer.AccessibilityLiveMode GetAccessibilityLive();
Возвращает AccessibilityServer.AccessibilityLiveMode
GetAccessibilityNamestring
# GetAccessibilityName
C#
public string GetAccessibilityName();
Возвращает string
GetAnchorfloat
# GetAnchor
C#
public float GetAnchor(Side side);

Возвращает якорь для указанного Side. Метод получения для Control.AnchorBottom, Control.AnchorLeft, Control.AnchorRight и Control.AnchorTop.

Параметры
ИмяТипПо умолчанию
sideSide—
Возвращает float
GetBeginVector2
# GetBegin
C#
public Vector2 GetBegin();

Возвращает Control.OffsetLeft и Control.OffsetTop. См. также Control.Position.

Возвращает Vector2
GetBoundMinimumSizeVector2
# GetBoundMinimumSize
C#
public Vector2 GetBoundMinimumSize();

Возвращает значение, ограничивающее Control.GetCombinedMinimumSize значением Control.GetCombinedMaximumSize. Это значение представляет собой истинный минимальный размер контейнера, поскольку максимальный размер имеет приоритет над минимальным размером. Например, если суммарный минимальный размер равен (100, 100), а суммарный максимальный размер равен (50, 150), то ограничивающий минимальный размер будет равен (50, 100).

Возвращает Vector2
GetCombinedMaximumSizeVector2
# GetCombinedMaximumSize
C#
public Vector2 GetCombinedMaximumSize();

Возвращает совокупный максимальный размер Control.CustomMaximumSize и Control.GetMaximumSize, а также Control.CustomMaximumSize родитель этого узла, если это Control узел с Control.PropagateMaximumSize установлен в true.

Возвращает Vector2
GetCombinedMinimumSizeVector2
# GetCombinedMinimumSize
C#
public Vector2 GetCombinedMinimumSize();

Возвращает суммарный минимальный размер, полученный из Control.CustomMinimumSize и Control.GetMinimumSize.

Возвращает Vector2
GetCombinedPivotOffsetVector2
# GetCombinedPivotOffset
C#
public Vector2 GetCombinedPivotOffset();

Возвращает суммарное значение Control.PivotOffset и Control.PivotOffsetRatio в пикселях. Коэффициент умножается на размер элемента управления.

Возвращает Vector2
GetCursorShapeControl.CursorShape
# GetCursorShape
C#
public Control.CursorShape GetCursorShape(Vector2? atPosition = default);

Виртуальный метод, который должен быть реализован пользователем. Возвращает форму курсора для позиции at_position в локальных координатах элемента управления, которая обычно используется при наведении курсора на этот элемент управления. См. Control.GetCursorShape. Если не переопределен, по умолчанию используется Control.MouseDefaultCursorShape.

#######get_drag_data

Параметры
ИмяТипПо умолчанию
atPositionVector2?default
atPosition

Если параметр не имеет значения, то значение по умолчанию: new Vector2(0.0f, 0.0f).

Возвращает Control.CursorShape
GetCustomMaximumSizeVector2
# GetCustomMaximumSize
C#
public Vector2 GetCustomMaximumSize();
Возвращает Vector2
GetCustomMinimumSizeVector2
# GetCustomMinimumSize
C#
public Vector2 GetCustomMinimumSize();
Возвращает Vector2
GetDefaultCursorShapeControl.CursorShape
# GetDefaultCursorShape
C#
public Control.CursorShape GetDefaultCursorShape();
Возвращает Control.CursorShape
GetEndVector2
# GetEnd
C#
public Vector2 GetEnd();

Возвращает Control.OffsetRight и Control.OffsetBottom.

Возвращает Vector2
GetFocusBehaviorRecursiveControl.FocusBehaviorRecursiveEnum
# GetFocusBehaviorRecursive
C#
public Control.FocusBehaviorRecursiveEnum GetFocusBehaviorRecursive();
Возвращает Control.FocusBehaviorRecursiveEnum
GetFocusModeControl.FocusModeEnum
# GetFocusMode
C#
public Control.FocusModeEnum GetFocusMode();
Возвращает Control.FocusModeEnum
GetFocusModeWithOverrideControl.FocusModeEnum
# GetFocusModeWithOverride
C#
public Control.FocusModeEnum GetFocusModeWithOverride();

Возвращает Control.FocusMode, но учитывает Control.FocusBehaviorRecursive. Если Control.FocusBehaviorRecursive установлен на Control.FocusBehaviorRecursiveEnum.Disabled или установлен на Control.FocusBehaviorRecursiveEnum.Inherited, а его предок установлен на Control.FocusBehaviorRecursiveEnum.Disabled, то возвращается Control.FocusModeEnum.None.

Возвращает Control.FocusModeEnum
GetFocusNeighborEntityPath
# GetFocusNeighbor
C#
public EntityPath GetFocusNeighbor(Side side);

Возвращает соседа фокуса для указанного Side. Метод получения для Control.FocusNeighborBottom, Control.FocusNeighborLeft, Control.FocusNeighborRight и Control.FocusNeighborTop. Примечание: Чтобы найти следующий Control на указанном Side, даже если сосед не назначен, используйте Control.FindValidFocusNeighbor.

Параметры
ИмяТипПо умолчанию
sideSide—
Возвращает EntityPath
GetFocusNextEntityPath
# GetFocusNext
C#
public EntityPath GetFocusNext();
Возвращает EntityPath
GetFocusPreviousEntityPath
# GetFocusPrevious
C#
public EntityPath GetFocusPrevious();
Возвращает EntityPath
GetGlobalPositionVector2
# GetGlobalPosition
C#
public Vector2 GetGlobalPosition();
Возвращает Vector2
GetGlobalRectRect2
# GetGlobalRect
C#
public Rect2 GetGlobalRect();

Возвращает положение и размер элемента управления относительно содержащего его холста. См. Control.GlobalPosition и Control.Size. Примечание: Если сам узел или любой родительский CanvasItem между узлом и холстом имеет нестандартный поворот или наклон, то результирующий размер, скорее всего, не имеет смысла. Примечание: Установка Viewport.GuiSnapControlsToPixels в true может привести к неточностям округления между отображаемым элементом управления и возвращаемым Rect2.

Возвращает Rect2
GetHGrowDirectionControl.GrowDirection
# GetHGrowDirection
C#
public Control.GrowDirection GetHGrowDirection();
Возвращает Control.GrowDirection
GetHSizeFlagsControl.SizeFlags
# GetHSizeFlags
C#
public Control.SizeFlags GetHSizeFlags();
Возвращает Control.SizeFlags
GetLayoutDirectionControl.LayoutDirectionEnum
# GetLayoutDirection
C#
public Control.LayoutDirectionEnum GetLayoutDirection();
Возвращает Control.LayoutDirectionEnum
GetMaximumSizeVector2
# GetMaximumSize
C#
public Vector2 GetMaximumSize();

Виртуальный метод, реализуемый пользователем. Возвращает максимальный размер для этого элемента управления. Альтернатива Control.CustomMaximumSize для управления максимальным размером с помощью кода. Фактический максимальный размер будет равен максимальному значению этих двух параметров (по каждой оси отдельно). Если не переопределено, по умолчанию используется Vector2.Zero. Примечание: Этот метод не будет вызываться, если скрипт прикреплен к узлу Control, который уже переопределяет свой максимальный размер (например, ScrollContainer). Примечание: Рекомендуется использовать Control.GetBoundMinimumSize вместо Control.GetCombinedMinimumSize при реализации этого метода, поскольку первый учитывает ограничения максимального размера при вычислении минимального размера, а второй — нет.

Возвращает Vector2
GetMinimumSizeVector2
# GetMinimumSize
C#
public Vector2 GetMinimumSize();

Виртуальный метод, реализуемый пользователем. Возвращает минимальный размер для этого элемента управления. Альтернатива Control.CustomMinimumSize для управления минимальным размером через код. Фактический минимальный размер будет максимальным значением этих двух (по каждой оси отдельно). Если не переопределено, по умолчанию Vector2.Zero. Примечание: Этот метод не будет вызван, если скрипт прикреплен к узлу Control, который уже переопределяет его минимальный размер (например, Label, Button, PanelContainer и т. д.). Его можно использовать только с большинством базовых узлов GUI, таких как Control, Container, Panel и т. д.

Возвращает Vector2
GetMouseBehaviorRecursiveControl.MouseBehaviorRecursiveEnum
# GetMouseBehaviorRecursive
C#
public Control.MouseBehaviorRecursiveEnum GetMouseBehaviorRecursive();
Возвращает Control.MouseBehaviorRecursiveEnum
GetMouseFilterControl.MouseFilterEnum
# GetMouseFilter
C#
public Control.MouseFilterEnum GetMouseFilter();
Возвращает Control.MouseFilterEnum
GetMouseFilterWithOverrideControl.MouseFilterEnum
# GetMouseFilterWithOverride
C#
public Control.MouseFilterEnum GetMouseFilterWithOverride();

Возвращает Control.MouseFilter, но учитывает Control.MouseBehaviorRecursive. Если Control.MouseBehaviorRecursive установлен на Control.MouseBehaviorRecursiveEnum.Disabled или установлен на Control.MouseBehaviorRecursiveEnum.Inherited, а его предок установлен на Control.MouseBehaviorRecursiveEnum.Disabled, то возвращается Control.MouseFilterEnum.Ignore.

Возвращает Control.MouseFilterEnum
GetOffsetfloat
# GetOffset
C#
public float GetOffset(Side offset);

Возвращает смещение для указанного Side. Метод получения для Control.OffsetBottom, Control.OffsetLeft, Control.OffsetRight и Control.OffsetTop.

Параметры
ИмяТипПо умолчанию
offsetSide—
Возвращает float
GetOffsetTransformPivotVector2
# GetOffsetTransformPivot
C#
public Vector2 GetOffsetTransformPivot();
Возвращает Vector2
GetOffsetTransformPivotRatioVector2
# GetOffsetTransformPivotRatio
C#
public Vector2 GetOffsetTransformPivotRatio();
Возвращает Vector2
GetOffsetTransformPositionVector2
# GetOffsetTransformPosition
C#
public Vector2 GetOffsetTransformPosition();
Возвращает Vector2
GetOffsetTransformPositionRatioVector2
# GetOffsetTransformPositionRatio
C#
public Vector2 GetOffsetTransformPositionRatio();
Возвращает Vector2
GetOffsetTransformRotationfloat
# GetOffsetTransformRotation
C#
public float GetOffsetTransformRotation();
Возвращает float
GetOffsetTransformScaleVector2
# GetOffsetTransformScale
C#
public Vector2 GetOffsetTransformScale();
Возвращает Vector2
GetParentAreaSizeVector2
# GetParentAreaSize
C#
public Vector2 GetParentAreaSize();

Возвращает ширину/высоту, занимаемую родительским элементом управления.

Возвращает Vector2
GetParentControlControl
# GetParentControl
C#
public Control GetParentControl();

Возвращает родительский управляющий узел.

Возвращает Control
GetPivotOffsetVector2
# GetPivotOffset
C#
public Vector2 GetPivotOffset();
Возвращает Vector2
GetPivotOffsetRatioVector2
# GetPivotOffsetRatio
C#
public Vector2 GetPivotOffsetRatio();
Возвращает Vector2
GetPositionVector2
# GetPosition
C#
public Vector2 GetPosition();
Возвращает Vector2
GetRectRect2
# GetRect
C#
public Rect2 GetRect();

Возвращает положение и размер элемента управления в системе координат содержащего узла. См. Control.Position, Control.Scale и Control.Size. Примечание: Если Control.Rotation не является поворотом по умолчанию, результирующий размер не имеет смысла. Примечание: Установка Viewport.GuiSnapControlsToPixels в true может привести к неточностям округления между отображаемым элементом управления и возвращаемым Rect2.

Возвращает Rect2
GetRotationfloat
# GetRotation
C#
public float GetRotation();
Возвращает float
GetRotationDegreesfloat
# GetRotationDegrees
C#
public float GetRotationDegrees();
Возвращает float
GetScaleVector2
# GetScale
C#
public Vector2 GetScale();
Возвращает Vector2
GetScreenPositionVector2
# GetScreenPosition
C#
public Vector2 GetScreenPosition();

Возвращает положение этого Control в глобальных экранных координатах (т. е. с учетом положения окна). В основном полезно для плагинов редактора. Эквивалентно get_screen_transform().origin (см. CanvasItem.GetScreenTransform). Пример: Отобразить всплывающее окно в позиции курсора мыши:

Возвращает Vector2
GetShortcutContextEntity
# GetShortcutContext
C#
public Entity GetShortcutContext();
Возвращает Entity
GetSizeVector2
# GetSize
C#
public Vector2 GetSize();
Возвращает Vector2
GetStretchRatiofloat
# GetStretchRatio
C#
public float GetStretchRatio();
Возвращает float
GetThemeTheme
# GetTheme
C#
public Theme GetTheme();
Возвращает Theme
GetThemeColorColor
# GetThemeColor
C#
public Color GetThemeColor(StringName name, StringName themeType = null);

Возвращает Color из первой совпадающей Theme в дереве, если эта Theme имеет элемент цвета с указанными name и theme_type. Если theme_type опущен, в качестве типа используется имя класса текущего элемента управления или Control.ThemeTypeVariation, если он определен. Если тип является именем класса, его родительские классы также проверяются в порядке наследования. Если тип является вариацией, его базовые типы проверяются в порядке зависимости, затем проверяются имя класса элемента управления и его родительские классы. Для текущего элемента управления сначала рассматриваются его локальные переопределения (см. Control.AddThemeColorOverride), затем его назначенная Control.Theme. После текущего элемента управления рассматриваются каждый родительский элемент управления и назначенная ему Control.Theme; элементы управления без назначенной Control.Theme пропускаются. Если в дереве не найдено соответствующей Theme, используются пользовательский проект Theme (см. ProjectSettings.gui/theme/custom) и Theme по умолчанию (см. ThemeDB).

C#
public override void _Ready()
{
    // Get the font color defined for the current Control's class, if it exists.
    Modulate = GetThemeColor("font_color");
    // Get the font color defined for the Button class.
    Modulate = GetThemeColor("font_color", "Button");
}
Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает Color
GetThemeConstantint
# GetThemeConstant
C#
public int GetThemeConstant(StringName name, StringName themeType = null);

Возвращает константу из первой совпадающей Theme в дереве, если эта Theme имеет константный элемент с указанными name и theme_type. Подробности см. в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает int
GetThemeDefaultBaseScalefloat
# GetThemeDefaultBaseScale
C#
public float GetThemeDefaultBaseScale();

Возвращает базовое значение масштаба по умолчанию из первой соответствующей Theme в дереве, если эта Theme имеет допустимое значение Theme.DefaultBaseScale. Подробнее см. в Control.GetThemeColor.

Возвращает float
GetThemeDefaultFontFont
# GetThemeDefaultFont
C#
public Font GetThemeDefaultFont();

Возвращает шрифт по умолчанию из первой соответствующей Theme в дереве, если эта Theme имеет допустимое значение Theme.DefaultFont. Подробности см. в Control.GetThemeColor.

Возвращает Font
GetThemeDefaultFontSizeint
# GetThemeDefaultFontSize
C#
public int GetThemeDefaultFontSize();

Возвращает значение размера шрифта по умолчанию из первой соответствующей Theme в дереве, если эта Theme имеет допустимое значение Theme.DefaultFontSize. Подробности см. в Control.GetThemeColor.

Возвращает int
GetThemeFontFont
# GetThemeFont
C#
public Font GetThemeFont(StringName name, StringName themeType = null);

Возвращается a Font от первого совпадения Theme на дереве, если это Theme имеет шрифт с указанным name и theme_type. Смотрите. Control.GetThemeColor Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает Font
GetThemeFontSizeint
# GetThemeFontSize
C#
public int GetThemeFontSize(StringName name, StringName themeType = null);

Возвращает размер шрифта из первой соответствующей Theme в дереве, если эта Theme имеет элемент размера шрифта с указанными name и theme_type. Подробности см. в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает int
GetThemeIconTexture2D
# GetThemeIcon
C#
public Texture2D GetThemeIcon(StringName name, StringName themeType = null);

Возвращает значок из первой соответствующей Theme в дереве, если эта Theme имеет элемент значка с указанными name и theme_type. Подробности см. в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает Texture2D
GetThemeSoundAudioStream
# GetThemeSound
C#
public AudioStream GetThemeSound(StringName name, StringName themeType = null);

Возвращает звук из первого совпадения Theme на дереве, если это Theme имеет звуковой элемент с указанным name и theme_type. Смотрите. Control.GetThemeColor Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает AudioStream
GetThemeStyleboxStyleBox
# GetThemeStylebox
C#
public StyleBox GetThemeStylebox(StringName name, StringName themeType = null);

Возвращает StyleBox из первой соответствующей Theme в дереве, если эта Theme имеет элемент stylebox с указанными name и theme_type. Подробнее см. Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает StyleBox
GetThemeTypeVariationStringName
# GetThemeTypeVariation
C#
public StringName GetThemeTypeVariation();
Возвращает StringName
GetTooltipstring
# GetTooltip
C#
public string GetTooltip(Vector2? atPosition = default);

Виртуальный метод, который должен быть реализован пользователем. Возвращает текст всплывающей подсказки для позиции at_position в локальных координатах элемента управления, который обычно появляется, когда курсор находится над этим элементом управления. См. Control.GetTooltip. Примечание: Если этот метод возвращает пустую string и Control._MakeCustomTooltip не переопределен, всплывающая подсказка не отображается.

####_get_tooltip_auto_translate_mode_at

Параметры
ИмяТипПо умолчанию
atPositionVector2?default
atPosition

Если параметр не имеет значения, то значение по умолчанию: new Vector2(0.0f, 0.0f).

Возвращает string
GetTooltipAutoTranslateModeEntity.AutoTranslateModeEnum
# GetTooltipAutoTranslateMode
C#
public Entity.AutoTranslateModeEnum GetTooltipAutoTranslateMode();
Возвращает Entity.AutoTranslateModeEnum
GetTooltipTextstring
# GetTooltipText
C#
public string GetTooltipText();
Возвращает string
GetTranslationContextStringName
# GetTranslationContext
C#
public StringName GetTranslationContext();
Возвращает StringName
GetVGrowDirectionControl.GrowDirection
# GetVGrowDirection
C#
public Control.GrowDirection GetVGrowDirection();
Возвращает Control.GrowDirection
GetVSizeFlagsControl.SizeFlags
# GetVSizeFlags
C#
public Control.SizeFlags GetVSizeFlags();
Возвращает Control.SizeFlags
GrabClickFocusvoid
# GrabClickFocus
C#
public void GrabClickFocus();

Создает InputEventMouseButton, который пытается щелкнуть элемент управления. Если событие получено, элемент управления получает фокус.

C#
public override void _Process(double delta)
{
    GrabClickFocus(); // When clicking another Control node, this node will be clicked instead.
}
GrabFocus2 перегрузки
# GrabFocus · 1/2
C#
public void GrabFocus();

Назначает фокус этому видимому подходящему элементу. Начальный выбор удобно отложить до готовности иерархии. Скрытие освобождает фокус; после открытия экрана назначайте его снова. Перегрузка hideFocus управляет отображением индикатора, а не вводом.

# GrabFocus · 2/2
C#
public void GrabFocus(bool hideFocus = false);

Назначает фокус этому видимому подходящему элементу. Начальный выбор удобно отложить до готовности иерархии. Скрытие освобождает фокус; после открытия экрана назначайте его снова. Перегрузка hideFocus управляет отображением индикатора, а не вводом.

Параметры
ИмяТипПо умолчанию
hideFocusboolfalse
HasFocus2 перегрузки
# HasFocus · 1/2
C#
public bool HasFocus();

Возвращает true, если это текущий сфокусированный элемент управления. См. Control.FocusMode. Если ignore_hidden_focus равно true, элементы управления, фокус которых скрыт, всегда будут возвращать false. Скрытый фокус срабатывает автоматически, когда элементы управления получают фокус с помощью ввода мыши, или вручную с помощью Control.GrabFocus с hide_focus, установленным в true.

Возвращает bool
# HasFocus · 2/2
C#
public bool HasFocus(bool ignoreHiddenFocus = false);

Возвращает true, если это текущий сфокусированный элемент управления. См. Control.FocusMode. Если ignore_hidden_focus равно true, элементы управления, фокус которых скрыт, всегда будут возвращать false. Скрытый фокус срабатывает автоматически, когда элементы управления получают фокус с помощью ввода мыши, или вручную с помощью Control.GrabFocus с hide_focus, установленным в true.

Параметры
ИмяТипПо умолчанию
ignoreHiddenFocusboolfalse
Возвращает bool
HasThemeColorbool
# HasThemeColor
C#
public bool HasThemeColor(StringName name, StringName themeType = null);

Возвращает true, если в дереве есть соответствующая Theme, которая имеет элемент цвета с указанными name и theme_type. Подробнее см. Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeColorOverridebool
# HasThemeColorOverride
C#
public bool HasThemeColorOverride(StringName name);

Возвращает true, если есть локальное переопределение для темы Color с указанным name в этом узле Control. См. Control.AddThemeColorOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeConstantbool
# HasThemeConstant
C#
public bool HasThemeConstant(StringName name, StringName themeType = null);

Возвращает true, если в дереве есть соответствующая Theme, которая имеет постоянный элемент с указанными name и theme_type. Подробнее см. Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeConstantOverridebool
# HasThemeConstantOverride
C#
public bool HasThemeConstantOverride(StringName name);

Возвращает true, если есть локальное переопределение для константы темы с указанным name в этом узле Control. См. Control.AddThemeConstantOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeFontbool
# HasThemeFont
C#
public bool HasThemeFont(StringName name, StringName themeType = null);

Возвращает true, если в дереве есть соответствующая Theme, которая имеет элемент шрифта с указанными name и theme_type. Подробнее см. Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeFontOverridebool
# HasThemeFontOverride
C#
public bool HasThemeFontOverride(StringName name);

Возвращает true, если есть локальное переопределение для темы Font с указанным name в этом узле Control. См. Control.AddThemeFontOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeFontSizebool
# HasThemeFontSize
C#
public bool HasThemeFontSize(StringName name, StringName themeType = null);

Возвращает true, если в дереве есть соответствующая Theme, которая имеет элемент размера шрифта с указанными name и theme_type. Подробности см. в Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeFontSizeOverridebool
# HasThemeFontSizeOverride
C#
public bool HasThemeFontSizeOverride(StringName name);

Возвращает true, если есть локальное переопределение для размера шрифта темы с указанным name в этом узле Control. См. Control.AddThemeFontSizeOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeIconbool
# HasThemeIcon
C#
public bool HasThemeIcon(StringName name, StringName themeType = null);

Возвращает true, если в дереве есть соответствующая Theme, которая имеет элемент значка с указанными name и theme_type. Подробнее см. Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeIconOverridebool
# HasThemeIconOverride
C#
public bool HasThemeIconOverride(StringName name);

Возвращает true, если есть локальное переопределение для значка темы с указанным name в этом узле Control. См. Control.AddThemeIconOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeSoundbool
# HasThemeSound
C#
public bool HasThemeSound(StringName name, StringName themeType = null);

Returns (Возврат) true если есть совпадение Theme на дереве, у которого есть звук с указанным name и theme_type. Смотрите. Control.GetThemeColor Для подробностей.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeSoundOverridebool
# HasThemeSoundOverride
C#
public bool HasThemeSoundOverride(StringName name);

Returns (Возврат) true если существует локальное переключение для темы звука с указанным name в этом Control Узел. Смотрите. Control.AddThemeSoundOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
HasThemeStyleboxbool
# HasThemeStylebox
C#
public bool HasThemeStylebox(StringName name, StringName themeType = null);

Возвращает true, если в дереве есть соответствующая Theme, которая имеет элемент stylebox с указанными name и theme_type. Подробнее см. Control.GetThemeColor.

Параметры
ИмяТипПо умолчанию
nameStringName—
themeTypeStringNamenull
Возвращает bool
HasThemeStyleboxOverridebool
# HasThemeStyleboxOverride
C#
public bool HasThemeStyleboxOverride(StringName name);

Возвращает true, если есть локальное переопределение для темы StyleBox с указанным name в этом узле Control. См. Control.AddThemeStyleboxOverride.

Параметры
ИмяТипПо умолчанию
nameStringName—
Возвращает bool
IsAutoTranslatingbool
# IsAutoTranslating
C#
public bool IsAutoTranslating();
Возвращает bool
IsClippingContentsbool
# IsClippingContents
C#
public bool IsClippingContents();
Возвращает bool
IsDragSuccessfulbool
# IsDragSuccessful
C#
public bool IsDragSuccessful();

Возвращает true, если операция перетаскивания прошла успешно. Альтернатива Viewport.GuiIsDragSuccessful. Лучше всего использовать с Entity.NotificationDragEnd.

Возвращает bool
IsForcePassScrollEventsbool
# IsForcePassScrollEvents
C#
public bool IsForcePassScrollEvents();
Возвращает bool
IsLayoutRtlbool
# IsLayoutRtl
C#
public bool IsLayoutRtl();

Возвращает эффективное направление раскладки Control с учётом LayoutDirection и наследования. Не определяет направление каждой строки текста и не переключает локаль игры.

Возвращает bool

true для эффективной раскладки справа налево, иначе false. Это состояние настройки, а не доказательство корректной отрисовки всего интерфейса.

IsLocalizingNumeralSystembool
# IsLocalizingNumeralSystem
C#
public bool IsLocalizingNumeralSystem();
Возвращает bool
IsOffsetTransformEnabledbool
# IsOffsetTransformEnabled
C#
public bool IsOffsetTransformEnabled();
Возвращает bool
IsOffsetTransformVisualOnlybool
# IsOffsetTransformVisualOnly
C#
public bool IsOffsetTransformVisualOnly();
Возвращает bool
IsPropagatingMaximumSizebool
# IsPropagatingMaximumSize
C#
public bool IsPropagatingMaximumSize();
Возвращает bool
ReleaseFocusvoid
# ReleaseFocus
C#
public void ReleaseFocus();

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

RemoveThemeColorOverridevoid
# RemoveThemeColorOverride
C#
public void RemoveThemeColorOverride(StringName name);

Удаляет локальное переопределение для темы Color с указанным name, ранее добавленное с помощью Control.AddThemeColorOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeConstantOverridevoid
# RemoveThemeConstantOverride
C#
public void RemoveThemeConstantOverride(StringName name);

Удаляет локальное переопределение для константы темы с указанным name, ранее добавленное Control.AddThemeConstantOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeFontOverridevoid
# RemoveThemeFontOverride
C#
public void RemoveThemeFontOverride(StringName name);

Удаляет локальное переопределение для темы Font с указанным name, ранее добавленное Control.AddThemeFontOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeFontSizeOverridevoid
# RemoveThemeFontSizeOverride
C#
public void RemoveThemeFontSizeOverride(StringName name);

Удаляет локальное переопределение размера шрифта темы с указанным name, ранее добавленное Control.AddThemeFontSizeOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeIconOverridevoid
# RemoveThemeIconOverride
C#
public void RemoveThemeIconOverride(StringName name);

Удаляет локальное переопределение для значка темы с указанным name, ранее добавленное Control.AddThemeIconOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeSoundOverridevoid
# RemoveThemeSoundOverride
C#
public void RemoveThemeSoundOverride(StringName name);

Удалить локальное переключение для тематического звука с указанным name Ранее добавленная Control.AddThemeSoundOverride или через док Инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
RemoveThemeStyleboxOverridevoid
# RemoveThemeStyleboxOverride
C#
public void RemoveThemeStyleboxOverride(StringName name);

Удаляет локальное переопределение для темы StyleBox с указанным name, ранее добавленное Control.AddThemeStyleboxOverride или через панель инспектора.

Параметры
ИмяТипПо умолчанию
nameStringName—
ResetSizevoid
# ResetSize
C#
public void ResetSize();

Сбрасывает размер до Control.GetCombinedMinimumSize. Это эквивалентно вызову set_size(Vector2()) (или любого размера ниже минимального).

SetAccessibilityControlsEntitiesvoid
# SetAccessibilityControlsEntities
C#
public void SetAccessibilityControlsEntities(Reckfell.Collections.Array<EntityPath> entityPath);
Параметры
ИмяТипПо умолчанию
entityPathReckfell.Collections.Array<EntityPath>—
SetAccessibilityDescribedByEntitiesvoid
# SetAccessibilityDescribedByEntities
C#
public void SetAccessibilityDescribedByEntities(Reckfell.Collections.Array<EntityPath> entityPath);
Параметры
ИмяТипПо умолчанию
entityPathReckfell.Collections.Array<EntityPath>—
SetAccessibilityDescriptionvoid
# SetAccessibilityDescription
C#
public void SetAccessibilityDescription(string description);
Параметры
ИмяТипПо умолчанию
descriptionstring—
SetAccessibilityFlowToEntitiesvoid
# SetAccessibilityFlowToEntities
C#
public void SetAccessibilityFlowToEntities(Reckfell.Collections.Array<EntityPath> entityPath);
Параметры
ИмяТипПо умолчанию
entityPathReckfell.Collections.Array<EntityPath>—
SetAccessibilityLabeledByEntitiesvoid
# SetAccessibilityLabeledByEntities
C#
public void SetAccessibilityLabeledByEntities(Reckfell.Collections.Array<EntityPath> entityPath);
Параметры
ИмяТипПо умолчанию
entityPathReckfell.Collections.Array<EntityPath>—
SetAccessibilityLive2 перегрузки
# SetAccessibilityLive · 1/2
C#
public void SetAccessibilityLive(AccessibilityServer.AccessibilityLiveMode mode);
Параметры
ИмяТипПо умолчанию
modeAccessibilityServer.AccessibilityLiveMode—
# SetAccessibilityLive · 2/2
C#
public void SetAccessibilityLive(DisplayServer.AccessibilityLiveMode mode);
Параметры
ИмяТипПо умолчанию
modeDisplayServer.AccessibilityLiveMode—
SetAccessibilityNamevoid
# SetAccessibilityName
C#
public void SetAccessibilityName(string name);
Параметры
ИмяТипПо умолчанию
namestring—
SetAnchorvoid
# SetAnchor
C#
public void SetAnchor(Side side, float anchor, bool keepOffset = false, bool pushOppositeAnchor = true);

Устанавливает якорь для указанного Side на anchor. Метод установки для Control.AnchorBottom, Control.AnchorLeft, Control.AnchorRight и Control.AnchorTop. Если keep_offset равен true, смещения не обновляются после этой операции. Если push_opposite_anchor равен true и противоположный якорь перекрывает этот якорь, противоположный якорь будет иметь переопределенное значение. Например, если установить левый якорь на 1, а правый якорь имеет значение 0,5, правый якорь также получит значение 1. Если push_opposite_anchor равен false, левый якорь получит значение 0,5.

Параметры
ИмяТипПо умолчанию
sideSide—
anchorfloat—
keepOffsetboolfalse
pushOppositeAnchorbooltrue
SetAnchorAndOffsetvoid
# SetAnchorAndOffset
C#
public void SetAnchorAndOffset(Side side, float anchor, float offset, bool pushOppositeAnchor = false);

Работает так же, как Control.SetAnchor, но вместо аргумента keep_offset и автоматического обновления смещения, он позволяет установить смещение самостоятельно (см. Control.SetOffset).

Параметры
ИмяТипПо умолчанию
sideSide—
anchorfloat—
offsetfloat—
pushOppositeAnchorboolfalse
SetAnchorsAndOffsetsPresetvoid
# SetAnchorsAndOffsetsPreset
C#
public void SetAnchorsAndOffsetsPreset(Control.LayoutPreset preset, Control.LayoutPresetMode resizeMode = Control.LayoutPresetMode.Minsize, int margin = 0);

Задаёт стандартные anchors и offsets с выбранным режимом сохранения размеров и внешним отступом. Для FullRect заполняет область привязки родителя с указанным отступом, если ограничения размеров этому не мешают. Container-родитель может затем управлять прямоугольником сам.

Параметры
ИмяТипПо умолчанию
presetControl.LayoutPreset—
resizeModeControl.LayoutPresetModeControl.LayoutPresetMode.Minsize
marginint0
SetAnchorsPresetvoid
# SetAnchorsPreset
C#
public void SetAnchorsPreset(Control.LayoutPreset preset, bool keepOffsets = false);

Назначает стандартный набор привязок; keepOffsets управляет сохранением отступов. Для одновременного задания привязок и отступов используйте SetAnchorsAndOffsetsPreset либо явно настройте offsets после preset.

Параметры
ИмяТипПо умолчанию
presetControl.LayoutPreset—
keepOffsetsboolfalse
SetAutoTranslatevoid
# SetAutoTranslate
C#
public void SetAutoTranslate(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetBeginvoid
# SetBegin
C#
public void SetBegin(Vector2 position);

Устанавливает Control.OffsetLeft и Control.OffsetTop одновременно. Эквивалентно изменению Control.Position.

Параметры
ИмяТипПо умолчанию
positionVector2—
SetClipContentsvoid
# SetClipContents
C#
public void SetClipContents(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetCustomMaximumSizevoid
# SetCustomMaximumSize
C#
public void SetCustomMaximumSize(Vector2 size);
Параметры
ИмяТипПо умолчанию
sizeVector2—
SetCustomMinimumSizevoid
# SetCustomMinimumSize
C#
public void SetCustomMinimumSize(Vector2 size);
Параметры
ИмяТипПо умолчанию
sizeVector2—
SetDefaultCursorShapevoid
# SetDefaultCursorShape
C#
public void SetDefaultCursorShape(Control.CursorShape shape);
Параметры
ИмяТипПо умолчанию
shapeControl.CursorShape—
SetDragForwardingvoid
# SetDragForwarding
C#
public void SetDragForwarding(Callable dragFunc, Callable canDropFunc, Callable dropFunc);

Устанавливает заданные вызываемые объекты для использования вместо собственных виртуальных методов перетаскивания элемента управления. Если вызываемый объект пуст, соответствующий ему виртуальный метод используется как обычно. Аргументы для каждого вызываемого объекта должны быть точно такими же, как и соответствующие им виртуальные методы, которые будут:

Параметры
ИмяТипПо умолчанию
dragFuncCallable—
canDropFuncCallable—
dropFuncCallable—
SetDragPreviewvoid
# SetDragPreview
C#
public void SetDragPreview(Control control);

Показывает заданный элемент управления на указателе мыши. Хорошее время для вызова этого метода — в Control._GetDragData. Элемент управления не должен находиться в дереве сцены. Вы не должны освобождать элемент управления и не должны сохранять ссылку на элемент управления после окончания перетаскивания. Он будет автоматически удален после завершения перетаскивания.

C#
[Export]
private Color _color = new Color(1, 0, 0, 1);

public override Variant _GetDragData(Vector2 atPosition)
{
    // Use a control that is not in the tree
    var cpb = new ColorPickerButton();
    cpb.Color = _color;
    cpb.Size = new Vector2(50, 50);
    SetDragPreview(cpb);
    return _color;
}
Параметры
ИмяТипПо умолчанию
controlControl—
SetEndvoid
# SetEnd
C#
public void SetEnd(Vector2 position);

Устанавливает Control.OffsetRight и Control.OffsetBottom одновременно.

Параметры
ИмяТипПо умолчанию
positionVector2—
SetFocusBehaviorRecursivevoid
# SetFocusBehaviorRecursive
C#
public void SetFocusBehaviorRecursive(Control.FocusBehaviorRecursiveEnum focusBehaviorRecursive);
Параметры
ИмяТипПо умолчанию
focusBehaviorRecursiveControl.FocusBehaviorRecursiveEnum—
SetFocusModevoid
# SetFocusMode
C#
public void SetFocusMode(Control.FocusModeEnum mode);
Параметры
ИмяТипПо умолчанию
modeControl.FocusModeEnum—
SetFocusNeighborvoid
# SetFocusNeighbor
C#
public void SetFocusNeighbor(Side side, EntityPath neighbor);

Устанавливает соседа фокуса для указанного Side на Control в neighbor пути узла. Метод установки для Control.FocusNeighborBottom, Control.FocusNeighborLeft, Control.FocusNeighborRight и Control.FocusNeighborTop.

Параметры
ИмяТипПо умолчанию
sideSide—
neighborEntityPath—
SetFocusNextvoid
# SetFocusNext
C#
public void SetFocusNext(EntityPath next);
Параметры
ИмяТипПо умолчанию
nextEntityPath—
SetFocusPreviousvoid
# SetFocusPrevious
C#
public void SetFocusPrevious(EntityPath previous);
Параметры
ИмяТипПо умолчанию
previousEntityPath—
SetForcePassScrollEventsvoid
# SetForcePassScrollEvents
C#
public void SetForcePassScrollEvents(bool forcePassScrollEvents);
Параметры
ИмяТипПо умолчанию
forcePassScrollEventsbool—
SetGlobalPositionvoid
# SetGlobalPosition
C#
public void SetGlobalPosition(Vector2 position, bool keepOffsets = false);

Устанавливает Control.GlobalPosition на заданное Control.Position. Если keep_offsets равно true, вместо смещений будут обновлены якоря элемента управления.

Параметры
ИмяТипПо умолчанию
positionVector2—
keepOffsetsboolfalse
SetHGrowDirectionvoid
# SetHGrowDirection
C#
public void SetHGrowDirection(Control.GrowDirection direction);
Параметры
ИмяТипПо умолчанию
directionControl.GrowDirection—
SetHSizeFlagsvoid
# SetHSizeFlags
C#
public void SetHSizeFlags(Control.SizeFlags flags);
Параметры
ИмяТипПо умолчанию
flagsControl.SizeFlags—
SetLayoutDirectionvoid
# SetLayoutDirection
C#
public void SetLayoutDirection(Control.LayoutDirectionEnum direction);
Параметры
ИмяТипПо умолчанию
directionControl.LayoutDirectionEnum—
SetLocalizeNumeralSystemvoid
# SetLocalizeNumeralSystem
C#
public void SetLocalizeNumeralSystem(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetMouseBehaviorRecursivevoid
# SetMouseBehaviorRecursive
C#
public void SetMouseBehaviorRecursive(Control.MouseBehaviorRecursiveEnum mouseBehaviorRecursive);
Параметры
ИмяТипПо умолчанию
mouseBehaviorRecursiveControl.MouseBehaviorRecursiveEnum—
SetMouseFiltervoid
# SetMouseFilter
C#
public void SetMouseFilter(Control.MouseFilterEnum filter);
Параметры
ИмяТипПо умолчанию
filterControl.MouseFilterEnum—
SetOffsetvoid
# SetOffset
C#
public void SetOffset(Side side, float offset);

Устанавливает смещение для указанного Side на offset. Метод установки для Control.OffsetBottom, Control.OffsetLeft, Control.OffsetRight и Control.OffsetTop.

Параметры
ИмяТипПо умолчанию
sideSide—
offsetfloat—
SetOffsetTransformEnabledvoid
# SetOffsetTransformEnabled
C#
public void SetOffsetTransformEnabled(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetOffsetTransformPivotvoid
# SetOffsetTransformPivot
C#
public void SetOffsetTransformPivot(Vector2 pivot);
Параметры
ИмяТипПо умолчанию
pivotVector2—
SetOffsetTransformPivotRatiovoid
# SetOffsetTransformPivotRatio
C#
public void SetOffsetTransformPivotRatio(Vector2 pivot);
Параметры
ИмяТипПо умолчанию
pivotVector2—
SetOffsetTransformPositionvoid
# SetOffsetTransformPosition
C#
public void SetOffsetTransformPosition(Vector2 offset);
Параметры
ИмяТипПо умолчанию
offsetVector2—
SetOffsetTransformPositionRatiovoid
# SetOffsetTransformPositionRatio
C#
public void SetOffsetTransformPositionRatio(Vector2 offset);
Параметры
ИмяТипПо умолчанию
offsetVector2—
SetOffsetTransformRotationvoid
# SetOffsetTransformRotation
C#
public void SetOffsetTransformRotation(float rotation);
Параметры
ИмяТипПо умолчанию
rotationfloat—
SetOffsetTransformScalevoid
# SetOffsetTransformScale
C#
public void SetOffsetTransformScale(Vector2 scale);
Параметры
ИмяТипПо умолчанию
scaleVector2—
SetOffsetTransformVisualOnlyvoid
# SetOffsetTransformVisualOnly
C#
public void SetOffsetTransformVisualOnly(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetOffsetsPresetvoid
# SetOffsetsPreset
C#
public void SetOffsetsPreset(Control.LayoutPreset preset, Control.LayoutPresetMode resizeMode = Control.LayoutPresetMode.Minsize, int margin = 0);

Устанавливает смещения на preset из Control.LayoutPreset. Это код, эквивалентный использованию меню Layout в 2D-редакторе. Используйте параметр resize_mode с константами из Control.LayoutPresetMode, чтобы лучше определить результирующий размер Control. Постоянный размер будет игнорироваться, если используется с предустановками, которые изменяют размер, например, Control.LayoutPreset.LeftWide. Используйте параметр margin, чтобы определить зазор между Control и краями.

Параметры
ИмяТипПо умолчанию
presetControl.LayoutPreset—
resizeModeControl.LayoutPresetModeControl.LayoutPresetMode.Minsize
marginint0
SetPivotOffsetvoid
# SetPivotOffset
C#
public void SetPivotOffset(Vector2 pivotOffset);
Параметры
ИмяТипПо умолчанию
pivotOffsetVector2—
SetPivotOffsetRatiovoid
# SetPivotOffsetRatio
C#
public void SetPivotOffsetRatio(Vector2 ratio);
Параметры
ИмяТипПо умолчанию
ratioVector2—
SetPositionvoid
# SetPosition
C#
public void SetPosition(Vector2 position, bool keepOffsets = false);

Устанавливает Control.Position на заданное Control.Position. Если keep_offsets равно true, то вместо смещений будут обновлены якоря элемента управления.

Параметры
ИмяТипПо умолчанию
positionVector2—
keepOffsetsboolfalse
SetPropagateMaximumSizevoid
# SetPropagateMaximumSize
C#
public void SetPropagateMaximumSize(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetRotationvoid
# SetRotation
C#
public void SetRotation(float radians);
Параметры
ИмяТипПо умолчанию
radiansfloat—
SetRotationDegreesvoid
# SetRotationDegrees
C#
public void SetRotationDegrees(float degrees);
Параметры
ИмяТипПо умолчанию
degreesfloat—
SetScalevoid
# SetScale
C#
public void SetScale(Vector2 scale);
Параметры
ИмяТипПо умолчанию
scaleVector2—
SetShortcutContextvoid
# SetShortcutContext
C#
public void SetShortcutContext(Entity node);
Параметры
ИмяТипПо умолчанию
nodeEntity—
SetSizevoid
# SetSize
C#
public void SetSize(Vector2 size, bool keepOffsets = false);

Устанавливает размер (см. Control.Size). Если keep_offsets равен true, вместо смещений будут обновлены якоря элемента управления.

Параметры
ИмяТипПо умолчанию
sizeVector2—
keepOffsetsboolfalse
SetStretchRatiovoid
# SetStretchRatio
C#
public void SetStretchRatio(float ratio);
Параметры
ИмяТипПо умолчанию
ratiofloat—
SetThemevoid
# SetTheme
C#
public void SetTheme(Theme theme);
Параметры
ИмяТипПо умолчанию
themeTheme—
SetThemeTypeVariationvoid
# SetThemeTypeVariation
C#
public void SetThemeTypeVariation(StringName themeType);
Параметры
ИмяТипПо умолчанию
themeTypeStringName—
SetTooltipAutoTranslateModevoid
# SetTooltipAutoTranslateMode
C#
public void SetTooltipAutoTranslateMode(Entity.AutoTranslateModeEnum mode);
Параметры
ИмяТипПо умолчанию
modeEntity.AutoTranslateModeEnum—
SetTooltipTextvoid
# SetTooltipText
C#
public void SetTooltipText(string hint);
Параметры
ИмяТипПо умолчанию
hintstring—
SetTranslationContextvoid
# SetTranslationContext
C#
public void SetTranslationContext(StringName context);
Параметры
ИмяТипПо умолчанию
contextStringName—
SetVGrowDirectionvoid
# SetVGrowDirection
C#
public void SetVGrowDirection(Control.GrowDirection direction);
Параметры
ИмяТипПо умолчанию
directionControl.GrowDirection—
SetVSizeFlagsvoid
# SetVSizeFlags
C#
public void SetVSizeFlags(Control.SizeFlags flags);
Параметры
ИмяТипПо умолчанию
flagsControl.SizeFlags—
UpdateMaximumSizevoid
# UpdateMaximumSize
C#
public void UpdateMaximumSize();

Отказывается в максимальном размере кэша в этом узле и в детских узлах с CanvasItem.TopLevel установлен в false. Предназначен для использования Control.GetMaximumSize при изменении обратного значения. Control.CustomMaximumSize Называет этот метод автоматически. Примечание: Звонок в этот метод также зовет Control.UpdateMinimumSize поскольку на совокупный минимальный размер может повлиять максимальное изменение размера.

UpdateMinimumSizevoid
# UpdateMinimumSize
C#
public void UpdateMinimumSize();

Аннулирует кэш минимального размера в этом узле и в родительских узлах до верхнего уровня. Предназначен для использования с Control.GetMinimumSize при изменении возвращаемого значения. Установка Control.CustomMinimumSize напрямую автоматически вызывает этот метод.

WarpMousevoid
# WarpMouse
C#
public void WarpMouse(Vector2 position);

Перемещает курсор мыши в Control.Position, относительно Control.Position этого Control. Примечание: Control.WarpMouse поддерживается только в Windows, macOS и Linux. Он не действует на Android, iOS и Web.

Параметры
ИмяТипПо умолчанию
positionVector2—
_AccessibilityGetContextualInfostring
# _AccessibilityGetContextualInfo
C#
public virtual string _AccessibilityGetContextualInfo();

Возвращает описание сочетаний клавиш и другую контекстную справку для этого элемента управления.

Возвращает string
_CanDropDatabool
# _CanDropData
C#
public virtual bool _CanDropData(Vector2 atPosition, Variant data);

Reckfell вызывает этот метод, чтобы проверить, можно ли перетащить data из метода Control._GetDragData элемента управления в at_position. at_position является локальным для этого элемента управления. Этот метод следует использовать только для проверки данных. Обрабатывайте данные в Control._DropData. Примечание: Если перетаскивание было инициировано сочетанием клавиш или Control.AccessibilityDrag, at_position устанавливается равным Vector2.Inf, а текущая позиция выбранного элемента/текста должна использоваться в качестве позиции перетаскивания.

C#
public override bool _CanDropData(Vector2 atPosition, Variant data)
{
    // Check position if it is relevant to you
    // Otherwise, just check data
    return data.VariantType == Variant.Type.Dictionary && data.AsReckfellDictionary().ContainsKey("expected");
}
Параметры
ИмяТипПо умолчанию
atPositionVector2—
dataVariant—
Возвращает bool
_DropDatavoid
# _DropData
C#
public virtual void _DropData(Vector2 atPosition, Variant data);

Reckfell вызывает этот метод, чтобы передать вам data из результата метода Control._GetDragData элемента управления. Reckfell сначала вызывает Control._CanDropData, чтобы проверить, разрешено ли перетаскивать data в at_position, где at_position является локальным для данного элемента управления. Примечание: Если перетаскивание было инициировано сочетанием клавиш или Control.AccessibilityDrag, at_position устанавливается равным Vector2.Inf, а текущая позиция выбранного элемента/текста должна использоваться в качестве позиции перетаскивания.

C#
public override bool _CanDropData(Vector2 atPosition, Variant data)
{
    return data.VariantType == Variant.Type.Dictionary && data.AsReckfellDictionary().ContainsKey("color");
}

public override void _DropData(Vector2 atPosition, Variant data)
{
    Color color = data.AsReckfellDictionary()["color"].AsColor();
}
Параметры
ИмяТипПо умолчанию
atPositionVector2—
dataVariant—
_GetAccessibilityContainerNamestring
# _GetAccessibilityContainerName
C#
public virtual string _GetAccessibilityContainerName(Entity node);

Переопределите этот метод, чтобы вернуть понятное для человека описание положения дочернего элемента node в пользовательском контейнере, добавленном к Control.AccessibilityName.

Параметры
ИмяТипПо умолчанию
nodeEntity—
Возвращает string
_GetCursorShapeint
# _GetCursorShape
C#
public virtual int _GetCursorShape(Vector2 atPosition);

Виртуальный метод, который должен быть реализован пользователем. Возвращает форму курсора для позиции at_position в локальных координатах элемента управления, которая обычно используется при наведении курсора на этот элемент управления. См. Control.GetCursorShape. Если не переопределен, по умолчанию используется Control.MouseDefaultCursorShape.

#######get_drag_data

Параметры
ИмяТипПо умолчанию
atPositionVector2—
Возвращает int
_GetDragDataVariant
# _GetDragData
C#
public virtual Variant _GetDragData(Vector2 atPosition);

Reckfell вызывает этот метод для получения данных, которые можно перетаскивать на элементы управления, ожидающие перетаскивания. Возвращает null, если данных для перетаскивания нет. Элементы управления, которые хотят получать перетаскиваемые данные, должны реализовывать Control._CanDropData и Control._DropData. at_position является локальным для этого элемента управления. Перетаскивание может быть принудительно выполнено с помощью Control.ForceDrag. Предварительный просмотр, который будет следовать за указателем мыши и должен отображать данные, можно установить с помощью Control.SetDragPreview. Рекомендуется установить предварительный просмотр в этом методе. Примечание: Если перетаскивание было инициировано сочетанием клавиш или Control.AccessibilityDrag, at_position устанавливается равным Vector2.Inf, а текущее положение выбранного элемента/текста должно использоваться в качестве позиции перетаскивания.

C#
public override Variant _GetDragData(Vector2 atPosition)
{
    var myData = MakeData(); // This is your custom method generating the drag data.
    SetDragPreview(MakePreview(myData)); // This is your custom method generating the preview of the drag data.
    return myData;
}
Параметры
ИмяТипПо умолчанию
atPositionVector2—
Возвращает Variant
_GetMaximumSizeVector2
# _GetMaximumSize
C#
public virtual Vector2 _GetMaximumSize();

Виртуальный метод, реализуемый пользователем. Возвращает максимальный размер для этого элемента управления. Альтернатива Control.CustomMaximumSize для управления максимальным размером с помощью кода. Фактический максимальный размер будет равен максимальному значению этих двух параметров (по каждой оси отдельно). Если не переопределено, по умолчанию используется Vector2.Zero. Примечание: Этот метод не будет вызываться, если скрипт прикреплен к узлу Control, который уже переопределяет свой максимальный размер (например, ScrollContainer). Примечание: Рекомендуется использовать Control.GetBoundMinimumSize вместо Control.GetCombinedMinimumSize при реализации этого метода, поскольку первый учитывает ограничения максимального размера при вычислении минимального размера, а второй — нет.

Возвращает Vector2
_GetMinimumSizeVector2
# _GetMinimumSize
C#
public virtual Vector2 _GetMinimumSize();

Возвращает требование собственного элемента к минимальному размеру. Контейнер использует его при раскладке; это не назначение Position. Когда требование изменяется, вызывайте UpdateMinimumSize; для изменения рисунка без изменения требований достаточно QueueRedraw.

Возвращает Vector2
_GetTooltipstring
# _GetTooltip
C#
public virtual string _GetTooltip(Vector2 atPosition);

Виртуальный метод, который должен быть реализован пользователем. Возвращает текст всплывающей подсказки для позиции at_position в локальных координатах элемента управления, который обычно появляется, когда курсор находится над этим элементом управления. См. Control.GetTooltip. Примечание: Если этот метод возвращает пустую string и Control._MakeCustomTooltip не переопределен, всплывающая подсказка не отображается.

####_get_tooltip_auto_translate_mode_at

Параметры
ИмяТипПо умолчанию
atPositionVector2—
Возвращает string
_GetTooltipAutoTranslateModeAtEntity.AutoTranslateModeEnum
# _GetTooltipAutoTranslateModeAt
C#
public virtual Entity.AutoTranslateModeEnum _GetTooltipAutoTranslateModeAt(Vector2 atPosition);

Возвращает режим автоматического перевода для заданной позиции at_position. Если он не реализован, будет использоваться свойство Control.TooltipAutoTranslateMode.

Параметры
ИмяТипПо умолчанию
atPositionVector2—
Возвращает Entity.AutoTranslateModeEnum
_GuiInputvoid
# _GuiInput
C#
public virtual void _GuiInput(InputEvent @event);

Обрабатывает доставленное GUI-событие. Координаты мыши уже локальны относительно Control; клавиатурные события требуют фокуса. Для принятого действия вызывайте AcceptEvent. Сигнал GuiInput вызывается до этого виртуального метода и тоже может принять событие.

Параметры
ИмяТипПо умолчанию
eventInputEvent—
_HasPointbool
# _HasPoint
C#
public virtual bool _HasPoint(Vector2 point);

Виртуальный метод, который должен быть реализован пользователем. Возвращает значение, указывающее, находится ли заданная точка point внутри этого элемента управления. Если не переопределено, поведение по умолчанию — проверка, находится ли точка внутри прямоугольника элемента управления. Примечание: Если вы хотите проверить, находится ли точка внутри элемента управления, вы можете использовать Rect2(Vector2.ZERO, size).has_point(point).

Параметры
ИмяТипПо умолчанию
pointVector2—
Возвращает bool
_MakeCustomTooltipReckfellObject
# _MakeCustomTooltip
C#
public virtual ReckfellObject _MakeCustomTooltip(string forText);

Виртуальный метод, который должен быть реализован пользователем. Возвращает узел Control, который должен использоваться в качестве всплывающей подсказки вместо стандартной. for_text — возвращаемое значение Control.GetTooltip. Возвращаемый узел должен быть типа Control или производного от Control. Он может иметь дочерние узлы любого типа. Он освобождается, когда всплывающая подсказка исчезает, поэтому всегда предоставляйте новый экземпляр (если вы хотите использовать уже существующий узел из дерева сцены, вы можете продублировать его и передать продублированный экземпляр). Если возвращается null или узел, не являющийся Control, будет использоваться стандартная всплывающая подсказка. Возвращаемый узел будет добавлен в качестве дочернего элемента к PopupPanel, поэтому вам следует предоставлять только содержимое этой панели. Этот PopupPanel можно оформить с помощью Theme.SetStylebox для типа "TooltipPanel" (см. Control.TooltipText для примера). Примечание: Всплывающая подсказка уменьшается до минимального размера. Если вы хотите убедиться, что она полностью видна, вы можете установить для ее Control.CustomMinimumSize ненулевое значение. Примечание: Узел (и любые соответствующие дочерние элементы) должны иметь CanvasItem.Visible со значением true при возврате, иначе область просмотра, которая его создает, не сможет надежно рассчитать его минимальный размер. Примечание: Если этот метод переопределен, он вызывается, даже если Control.GetTooltip возвращает пустую строку. В этом случае со всплывающей подсказкой по умолчанию она не отображается. Чтобы скопировать это поведение, верните null в этом методе, когда for_text пуст. Пример: Используйте созданный узел в качестве всплывающей подсказки:

C#
public override Control _MakeCustomTooltip(string forText)
{
    var label = new Label();
    label.Text = forText;
    return label;
}

Пример: Используйте экземпляр сцены в качестве всплывающей подсказки:

C#
public override Control _MakeCustomTooltip(string forText)
{
    Entity tooltip = ResourceLoader.Load<PackedEntity>("asset://some_tooltip_scene.rprefab").Instantiate();
    tooltip.GetEntity<Label>("Label").Text = forText;
    return tooltip;
}
Параметры
ИмяТипПо умолчанию
forTextstring—
Возвращает ReckfellObject
_StructuredTextParserReckfell.Collections.Array<Vector3I>
# _StructuredTextParser
C#
public virtual Reckfell.Collections.Array<Vector3I> _StructuredTextParser(Reckfell.Collections.Array args, string text);

Функция переопределения пользовательского алгоритма BiDi. Возвращает Reckfell.Collections.Array из Vector3I текстовых диапазонов и направлений баз текста в порядке слева направо. Диапазоны должны охватывать весь исходный text без перекрытий. Алгоритм BiDi будет использоваться для каждого диапазона отдельно.

Параметры
ИмяТипПо умолчанию
argsReckfell.Collections.Array—
textstring—
Возвращает Reckfell.Collections.Array<Vector3I>

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

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

Вызывается, когда узел получает фокус.

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

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

Выдается, когда узел теряет фокус.

GuiInputСобытие
# GuiInput
C#
public event Control.GuiInputEventHandler GuiInput;

Виртуальный метод, реализуемый пользователем. Переопределите этот метод для обработки и принятия ввода в элементах пользовательского интерфейса. См. также Control.AcceptEvent. Пример: Щелкните элемент управления, чтобы напечатать сообщение:

C#
public override void _GuiInput(InputEvent @event)
{
    if (@event is InputEventMouseButton mb)
    {
        if (mb.ButtonIndex == MouseButton.Left && mb.Pressed)
        {
            ReckfellApi.Print("I've been clicked D:");
        }
    }
}

Если event наследует InputEventMouse, этот метод не будет вызван, когда:

  • элемент управления Control.MouseFilter установлен на Control.MouseFilterEnum.Ignore;
  • элемент управления перекрыт другим элементом управления сверху, у которого Control.MouseFilter не установлен на Control.MouseFilterEnum.Ignore;
  • родительский элемент управления имеет Control.MouseFilter установлен на Control.MouseFilterEnum.Stop или принял событие;
  • родительский элемент управления имеет Control.ClipContents, а положение event находится вне прямоугольника родителя;
  • положение event находится вне элемента управления (см. Control._HasPoint). Примечание: Положение event определяется относительно начала координат этого элемента управления.
Параметры обработчика
ИмяТипПо умолчанию
eventInputEvent—
MaximumSizeChangedСобытие
# MaximumSizeChanged
C#
public event Action MaximumSizeChanged;

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

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

Вызывается при изменении минимального размера узла.

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

Разрешено, когда курсор мыши входит в видимую зону управления (или любого управления ребенком), которая не замыкается за другими устройствами управления или окнами, при условии, что Control.MouseFilter Пусть событие дойдет до него, и независимо от того, сфокусирована она сейчас или нет. Примечание: CanvasItem.ZIndex не влияет, что Control получает сигнал.

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

Приемлемо, когда курсор мыши покидает видимую зону управления (и все детское управление), которая не замыкается за другими устройствами управления или окнами, при условии, что Control.MouseFilter Пусть событие дойдет до него, и независимо от того, сфокусирована она сейчас или нет. Примечание: CanvasItem.ZIndex не влияет, что Control получает сигнал. Примечание: Если вы хотите проверить, действительно ли мышь покинула область, игнорируя любые топовые узлы, вы можете использовать код вот так:

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

Вызывается при изменении размера элемента управления.

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

Выдается при изменении одного из флагов размера. См. Control.SizeFlagsHorizontal и Control.SizeFlagsVertical.

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

Вызывается при отправке уведомления Control.NotificationThemeChanged.

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

NotificationFocusEnterПоле
# NotificationFocusEnter
C#
public const long NotificationFocusEnter = 43;

Отправляется, когда узел захватывает фокус.

УВЕДОМЛЕНИЕ_FOCUS_EXIT

NotificationFocusExitПоле
# NotificationFocusExit
C#
public const long NotificationFocusExit = 44;

Уведомление отправляется, когда узел теряет фокус. Это уведомление отправляется в обратном порядке.

УВЕДОМЛЕНИЕ_ТЕМА_ ИЗМЕНЕНИЕ

NotificationLayoutDirectionChangedПоле
# NotificationLayoutDirectionChanged
C#
public const long NotificationLayoutDirectionChanged = 49;

Отправляется, когда направление макета элемента управления изменяется с LTR или RTL или наоборот. Это уведомление распространяется на дочерние узлы Control в результате изменения Control.LayoutDirection.

NotificationMouseEnterПоле
# NotificationMouseEnter
C#
public const long NotificationMouseEnter = 41;

Отправлено, когда курсор мыши входит в видимую зону управления (или любого управления ребенком), которая не замыкается за другими устройствами управления или окнами, при условии, что Control.MouseFilter Пусть событие дойдет до него, и независимо от того, сфокусирована она сейчас или нет. Примечание: CanvasItem.ZIndex не влияет на то, что Control получает уведомление. См. также Control.NotificationMouseEnterSelf.

УВЕДОМЛЕНИЕ_MOSME_EXIT

NotificationMouseEnterSelfПоле
# NotificationMouseEnterSelf
C#
public const long NotificationMouseEnterSelf = 60;

Отправлено, когда курсор мыши входит в видимую зону управления, которая не замыкается за другими устройствами управления или окнами, при условии, что Control.MouseFilter * Примечание:** CanvasItem.ZIndex не влияет на то, что Control получает уведомление. См. также Control.NotificationMouseEnter.

NotificationMouseExitПоле
# NotificationMouseExit
C#
public const long NotificationMouseExit = 42;

Отправлено, когда курсор мыши покидает видимую зону управления (и все устройства управления детьми), которая не замыкается за другими устройствами управления или окнами, при условии, что Control.MouseFilter Пусть событие дойдет до него, и независимо от того, сфокусирована она сейчас или нет. Примечание: CanvasItem.ZIndex не влияет на то, что Control получает уведомление. См. также Control.NotificationMouseExitSelf.

NotificationMouseExitSelfПоле
# NotificationMouseExitSelf
C#
public const long NotificationMouseExitSelf = 61;

Отправлено, когда курсор мыши покидает видимую зону управления, которая не замыкается за другими устройствами управления или окнами при условии, что Control.MouseFilter Пусть событие дойдет до него, и независимо от того, сфокусирована она сейчас или нет. Примечание: CanvasItem.ZIndex не влияет на то, что Control получает уведомление. См. также Control.NotificationMouseExit.

NotificationResizedПоле
# NotificationResized
C#
public const long NotificationResized = 40;

Отправляется, когда узел меняет размер. Используйте Control.Size, чтобы получить новый размер.

NotificationScrollBeginПоле
# NotificationScrollBegin
C#
public const long NotificationScrollBegin = 47;

Отправляется, когда этот узел находится внутри ScrollContainer, который начал прокручиваться при перетаскивании прокручиваемой области с помощью события касания. Это уведомление не отправляется при прокрутке путем перетаскивания полосы прокрутки, прокрутки колесиком мыши или прокрутки с помощью событий клавиатуры/геймпада. Примечание: Этот сигнал выдается только на Android или iOS, или на настольных/веб-платформах, когда включен ProjectSettings.input_devices/pointing/emulate_touch_from_mouse.

NotificationScrollEndПоле
# NotificationScrollEnd
C#
public const long NotificationScrollEnd = 48;

Отправляется, когда этот узел находится внутри ScrollContainer, который перестал прокручиваться при перетаскивании прокручиваемой области событием касания. Это уведомление не отправляется при прокрутке путем перетаскивания полосы прокрутки, прокрутки колесиком мыши или прокрутки с помощью событий клавиатуры/геймпада. Примечание: Этот сигнал выдается только на Android или iOS, или на настольных/веб-платформах, когда включен ProjectSettings.input_devices/pointing/emulate_touch_from_mouse.

УВЕДОМЛЕНИЕ_LAYUT_RECING_ ИЗМЕНЕНИЕ

NotificationThemeChangedПоле
# NotificationThemeChanged
C#
public const long NotificationThemeChanged = 45;

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

  • Свойство Control.Theme изменено на этом узле или любом из его предков.
  • Свойство Control.ThemeTypeVariation изменено на этом узле.
  • Изменено одно из переопределений свойств темы узла.
  • Узел входит в дерево сцены. Примечание: В качестве оптимизации это уведомление не будет отправлено из изменений, которые происходят, пока этот узел находится вне дерева сцены. Вместо этого все обновления элементов темы могут быть применены одновременно, когда узел входит в дерево сцены. Примечание: Это уведомление получено вместе с Entity.NotificationEnterTree, поэтому, если вы создаете сцену, дочерние узлы еще не будут инициализированы. Вы можете использовать его для настройки тем для этого узла, дочерних узлов, созданных из скрипта, или, если вы хотите получить доступ к дочерним узлам, добавленным в редакторе, убедитесь, что узел готов, используя Entity.IsEntityReady.

Control.Anchor

ЗначениеОписание
Begin = 0

Привязывает одну из 4 сторон якоря к началу координат Rect узла в левом верхнем углу. Используйте его с одной из переменных-членов anchor_*, например Control.AnchorLeft. Чтобы изменить все 4 якоря одновременно, используйте Control.SetAnchorsPreset.

End = 1

Привязывает одну из 4 сторон якоря к концу Rect узла в правом нижнем углу. Используйте его с одной из переменных-членов anchor_*, например Control.AnchorLeft. Чтобы изменить все 4 якоря одновременно, используйте Control.SetAnchorsPreset.

Control.CursorShape

ЗначениеОписание
Arrow = 0

Показывать системный курсор мыши в виде стрелки, когда пользователь наводит курсор на узел. Использовать с Control.MouseDefaultCursorShape.

Bdiagsize = 11

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

Busy = 5

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

CanDrop = 7

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

Cross = 3

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

Drag = 6

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

Fdiagsize = 12

Показывать курсор мыши для изменения размера окна системы, когда пользователь наводит его на узел. Курсор — это двунаправленная стрелка, которая идет из верхнего левого угла в нижний правый угол, противоположность Control.CursorShape.Bdiagsize. Он сообщает пользователю, что он может изменять размер окна или панели как по горизонтали, так и по вертикали.

Forbidden = 8

Показывать запрещенный системой курсор мыши, когда пользователь наводит его на узел. Часто перечеркнутый круг.

Help = 16

Показывать системную справку: курсор мыши при наведении на узел - вопросительный знак.

Hsize = 10

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

Hsplit = 15

Показывать горизонтальный разделенный курсор мыши системы, когда пользователь наводит курсор на узел. В Windows это то же самое, что и Control.CursorShape.Hsize.

Ibeam = 1

Показывать системный I-образный курсор мыши, когда пользователь наводит курсор на узел. I-образный указатель имеет форму, похожую на "I". Он сообщает пользователю, что он может выделить или вставить текст.

КУРСОР Топоминания

Move = 13

Показывать курсор мыши перемещения системы, когда пользователь наводит его на узел. Он показывает 2 двунаправленные стрелки под углом 90 градусов. Он сообщает пользователю, что он может свободно перемещать элемент пользовательского интерфейса.

PointingHand = 2

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

Vsize = 9

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

КУРСОР

Vsplit = 14

Показывать вертикальный разделенный курсор мыши системы, когда пользователь наводит курсор на узел. В Windows это то же самое, что и Control.CursorShape.Vsize.

Wait = 4

Показывать курсор мыши ожидания системы, когда пользователь наводит курсор на узел. Часто песочные часы.

Control.FocusBehaviorRecursiveEnum

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

Предотвращает фокусировку элемента управления. Control.GetFocusModeWithOverride вернет Control.FocusModeEnum.None.

Enabled = 2

Позволяет фокусировать элемент управления в зависимости от Control.FocusMode. Это можно использовать для игнорирования Control.FocusBehaviorRecursive родительского элемента. Control.GetFocusModeWithOverride вернет Control.FocusMode.

Inherited = 0

Наследует Control.FocusBehaviorRecursive от родительского элемента управления. Если родительского элемента управления нет, это то же самое, что и Control.FocusBehaviorRecursiveEnum.Enabled.

Control.FocusModeEnum

ЗначениеОписание
Accessibility = 3

Узел может захватить фокус только когда активен экранный диктор. Используйте с Control.FocusMode.

All = 2

Узел может захватывать фокус по щелчку мыши, используя стрелки и клавиши Tab на клавиатуре или кнопки D-pad на геймпаде. Используйте с Control.FocusMode.

Click = 1

Узел может захватывать фокус только по щелчкам мыши. Используйте с Control.FocusMode.

None = 0

Узел не может захватить фокус. Используйте с Control.FocusMode.

Control.GrowDirection

ЗначениеОписание
Begin = 0

Управление будет расти/прикручиваться влево или сверху, если его размер изменится и будет больше/меньше его нынешнего размера на соответствующей оси.

Both = 2

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

End = 1

Если размер органа управления изменяется на более/меньший по сравнению с нынешним размером на соответствующей оси, то он будет расти/прикручиваться к правому или нижнему днищу.

Control.LayoutDirectionEnum

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

Автоматическое направление макета, определяемое текущей локалью. Направление макета справа налево автоматически используется для языков, которым оно требуется, таких как арабский и иврит, но только если загружен допустимый файл перевода для данного языка (если только указанный язык не настроен как резервный в ProjectSettings.internationalization/locale/fallback). Для всех других языков (или если Reckfell не нашел допустимый файл перевода) используется направление макета слева направо. При использовании TextServerFallback (ProjectSettings.internationalization/rendering/text_driver) всегда используется направление макета слева направо независимо от языка. Направление макета справа налево также можно принудительно установить с помощью ProjectSettings.internationalization/rendering/force_right_to_left_layout_direction.

Inherited = 0

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

Locale = 1
Ltr = 2

Направление макета слева направо.

Max = 5

Представляет размер перечисления Control.LayoutDirectionEnum.

Rtl = 3

Направление раскладки справа налево.

SystemLocale = 4

Автоматическое направление макета, определяемое системными настройками. Направление макета справа налево автоматически используется для языков, для которых оно требуется, например, для арабского и иврита, но только если загружен корректный файл перевода для данного языка. Для всех остальных языков (или если Reckfell не нашёл корректный файл перевода) используется направление макета слева направо. При использовании TextServerFallback (ProjectSettings.internationalization/rendering/text_driver) направление макета слева направо используется всегда, независимо от языка.

Control.LayoutPreset

ЗначениеОписание
BottomLeft = 2

Прикрепить все 4 якоря к нижнему левому углу границ родительского элемента управления. Использовать с Control.SetAnchorsPreset.

ПРЕЗЕТ

BottomRight = 3

Прикрепить все 4 якоря к нижнему правому краю границ родительского элемента управления. Использовать с Control.SetAnchorsPreset.

BottomWide = 12

Привязать все 4 якоря к нижнему краю родительского элемента управления. Левое смещение становится относительно нижнего левого угла, нижнее смещение относительно нижнего края, а правое смещение относительно нижнего правого угла родительского узла. Использовать с Control.SetAnchorsPreset.

Center = 8

Привязать все 4 якоря к центру границ родительского элемента управления. Использовать с Control.SetAnchorsPreset.

CenterBottom = 7

Привяжите все 4 якоря к центру нижнего края границ родительского элемента управления. Используйте с Control.SetAnchorsPreset.

CenterLeft = 4

Привязать все 4 якоря к центру левого края границ родительского элемента управления. Использовать с Control.SetAnchorsPreset.

CenterRight = 6

Привязать все 4 якоря к центру правого края границ родительского элемента управления. Использовать с Control.SetAnchorsPreset.

CenterTop = 5

Привяжите все 4 якоря к центру верхнего края границ родительского элемента управления. Используйте с Control.SetAnchorsPreset.

FullRect = 15

Привяжите все 4 якоря к соответствующим углам родительского элемента управления. Установите все 4 смещения на 0 после применения этого пресета, и Control будет соответствовать своему родительскому элементу управления. Используйте с Control.SetAnchorsPreset.

HcenterWide = 14

Привяжите все 4 якоря к горизонтальной линии, которая разрезает родительский элемент управления пополам. Используйте с Control.SetAnchorsPreset.

LeftWide = 9

Привязать все 4 якоря к левому краю родительского элемента управления. Левое смещение становится относительным к левому краю, а верхнее смещение — относительно верхнего левого угла родительского узла. Использовать с Control.SetAnchorsPreset.

RightWide = 11

Привязать все 4 якоря к правому краю родительского элемента управления. Правое смещение становится относительным к правому краю, а верхнее смещение — относительно верхнего правого угла родителя узла. Использовать с Control.SetAnchorsPreset.

TopLeft = 0

Прикрепить все 4 якоря к верхнему левому углу границ родительского элемента управления. Использовать с Control.SetAnchorsPreset.

TopRight = 1

Прикрепить все 4 якоря к правому верхнему краю границ родительского элемента управления. Использовать с Control.SetAnchorsPreset.

TopWide = 10

Привязать все 4 якоря к верхнему краю родительского элемента управления. Левое смещение становится относительно верхнего левого угла, верхнее смещение относительно верхнего края, а правое смещение относительно верхнего правого угла родительского узла. Использовать с Control.SetAnchorsPreset.

VcenterWide = 13

Привяжите все 4 якоря к вертикальной линии, которая разрезает родительский элемент управления пополам. Используйте с Control.SetAnchorsPreset.

Control.LayoutPresetMode

ЗначениеОписание
KeepHeight = 2

Высота элемента управления не изменится.

KeepSize = 3

Размер элемента управления не изменится.

KeepWidth = 1

Ширина элемента управления не изменится.

Minsize = 0

Размер элемента управления будет изменен до минимального.

Control.MouseBehaviorRecursiveEnum

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

Запрещает элементу управления получать ввод с мыши. Control.GetMouseFilterWithOverride вернет Control.MouseFilterEnum.Ignore.

Enabled = 2

Позволяет элементу управления получать ввод с мыши в зависимости от Control.MouseFilter. Это можно использовать для игнорирования Control.MouseBehaviorRecursive родительского элемента. Control.GetMouseFilterWithOverride вернет Control.MouseFilter.

УВЕДОМЛЕНИЕ

Inherited = 0

Наследует Control.MouseBehaviorRecursive от родительского элемента управления. Если родительского элемента управления нет, это то же самое, что и Control.MouseBehaviorRecursiveEnum.Enabled.

Control.MouseFilterEnum

ЗначениеОписание
Ignore = 2

Элемент управления не будет получать никаких событий ввода движения мыши или событий ввода кнопки мыши через Control.GuiInput. Элемент управления также не будет получать сигналы Control.MouseEntered или Control.MouseExited. Это не помешает другим элементам управления получать эти события или подавать сигналы. Проигнорированные события не будут обрабатываться автоматически. Если у дочернего элемента есть Control.MouseFilterEnum.Pass и этому элементу управления было передано событие, событие будет далее распространяться до родительского элемента управления. Примечание: Если элемент управления получил Control.MouseEntered, но не Control.MouseExited, изменение Control.MouseFilter на Control.MouseFilterEnum.Ignore приведет к испусканию Control.MouseExited.

Pass = 1

Элемент управления будет получать события ввода движения мыши и события ввода кнопки мыши, если на него нажато через Control.GuiInput. Элемент управления также получит сигналы Control.MouseEntered и Control.MouseExited. Если этот элемент управления не обрабатывает событие, событие будет распространяться вверх к его родительскому элементу управления, если он есть. Событие всплывает вверх по иерархии узлов, пока не достигнет не-CanvasItem, элемента управления с Control.MouseFilterEnum.Stop или CanvasItem с включенным CanvasItem.TopLevel. Это позволит сигналам срабатывать во всех элементах управления, которых он достигает. Если ни один элемент управления не обработал его, событие будет передано в Entity._ShortcutInput для дальнейшей обработки.

Stop = 0

Элемент управления будет получать события ввода движения мыши и события ввода кнопки мыши, если щелкнуть по нему через Control.GuiInput. Элемент управления также будет получать сигналы Control.MouseEntered и Control.MouseExited. Эти события автоматически помечаются как обработанные и не будут распространяться дальше на другие элементы управления. Это также приводит к блокировке сигналов в других элементах управления.

Control.SizeFlags

ЗначениеОписание
Expand = 2

Сообщает родительскому Container разрешить этому узлу занять все доступное пространство на помеченной вами оси. Если несколько соседних узлов настроены на расширение, они будут делить пространство на основе их коэффициента растяжения. См. Control.SizeFlagsStretchRatio. Используйте с Control.SizeFlagsHorizontal и Control.SizeFlagsVertical.

ExpandFill = 3

Устанавливает флаги размера узла для заполнения и расширения. См. Control.SizeFlags.Fill и Control.SizeFlags.Expand для получения дополнительной информации.

Fill = 1

Сообщает родительскому Container расширить границы этого узла, чтобы заполнить все доступное пространство, не выталкивая другие узлы. Это взаимоисключающе с флагами размера сжатия. Используйте с Control.SizeFlagsHorizontal и Control.SizeFlagsVertical.

Maximize = 16

Говорит родителю Container использовать узел Control.CustomMaximumSize при расчете минимального размера. Control.SizeFlagsHorizontal и Control.SizeFlagsVertical. Примечание: Установление этого флага не обязательно означает, что узел будет увеличен до его максимального размера, поскольку базовый контейнер может не иметь для этого достаточного пространства. Примечание: Если этот узел - ребенок Container которая позволяет Control.SizeFlagsStretchRatio Если несколько узлов имеют этот флаг, то их относительные растягивающие коэффициенты будут по-прежнему соблюдаться.

ShrinkBegin = 0

Сообщает родительскому Container о необходимости выровнять узел по его началу, либо по верхнему, либо по левому краю. Это взаимоисключающе с Control.SizeFlags.Fill и другими флагами размера сжатия, но может использоваться с Control.SizeFlags.Expand в некоторых контейнерах. Используйте с Control.SizeFlagsHorizontal и Control.SizeFlagsVertical. Примечание: Установка этого флага эквивалентна отсутствию флагов размера.

ShrinkCenter = 4

Сообщает родительскому Container центрировать узел в доступном пространстве. Является взаимоисключающим с Control.SizeFlags.Fill и другими флагами размера сжатия, но может использоваться с Control.SizeFlags.Expand в некоторых контейнерах. Используйте с Control.SizeFlagsHorizontal и Control.SizeFlagsVertical.

ShrinkEnd = 8

Сообщает родительскому Container о необходимости выровнять узел по его концу, либо по нижнему, либо по правому краю. Является взаимоисключающим с Control.SizeFlags.Fill и другими флагами размера сжатия, но может использоваться с Control.SizeFlags.Expand в некоторых контейнерах. Используйте с Control.SizeFlagsHorizontal и Control.SizeFlagsVertical.

Control.TextDirection

ЗначениеОписание
Auto = 0

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

Inherited = 3

Направление написания текста совпадает с направлением макета.

Ltr = 1

Направление написания текста слева направо.

Rtl = 2

Направление текста справа налево.

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

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

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

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