GraphNode
Элемент GraphEdit со строками интерфейса и отдельными входными/выходными портами.
Добавьте GraphNode непосредственным ребёнком GraphEdit, затем добавьте строки Control и настройте их через SetSlot. GraphNode предоставляет интерфейс графа, а не исполнение игровых действий. Данные, вычисления, допустимость связей предметной области и сохранение реализует приложение. Title — подпись, Name — идентификатор для GraphEdit; не подменяйте одно другим.
Различайте slotIndex строки и portIdx порта. Входные и выходные порты нумеруются отдельно, плотно с нуля, только по включённым портам соответствующей стороны. Например, вход включён лишь у строки 2: его portIdx = 0, GetInputPortSlot(0) = 2. Для соединения GraphEdit нужен индекс порта, а для SetSlot* — индекс строки. Отключение раннего порта меняет последующие portIdx.
Сначала сформируйте строки и дождитесь раскладки перед измерением позиций. Вложенная форма внутри одного HBoxContainer/VBoxContainer остаётся одной строкой GraphNode. Скрытие, перестановка, добавление и удаление прямых строк могут изменить соответствие строк и портов. После таких изменений пересоберите конфигурацию из своей модели и обновите соединения; не сохраняйте portIdx как вечный ID. Стабильный ключ храните в модели или metadata.
SetSlot полностью заменяет запись строки, включая сброс metadata и неуказанных иконок. Для изменения одного свойства используйте SetSlotColor*, SetSlotType* или другие частичные setters. Сначала создайте запись через SetSlot/SetSlotEnabled*, затем задавайте её тип, цвет, иконку и metadata. ClearSlot и ClearAllSlots убирают настройки портов, сохраняя дочерние строки Control.
В установленном Runtime 1.0.0 есть дефект сброса: SetSlot со всеми отключёнными портами, типами 0, белыми цветами и пустыми иконками удаляет запись, но может оставить старый кэш портов. Для удаления конфигурации используйте ClearSlot вместо такого вызова SetSlot. Обычный SlotUpdated не покрывает все изменения: ClearSlot/ClearAllSlots и setters metadata его не испускают.
Тип порта — целочисленная категория приложения, цвет — оформление. GraphEdit использует типы и разрешённые пары для поиска кандидатов в UI; цвет сам совместимость не определяет. IgnoreInvalidConnectionType ослабляет этот фильтр, но не делает связь безопасной для вашей модели и не создаёт вычислительную логику. Проверяйте запрос соединения перед записью в модель.
GetInputPortPosition/GetOutputPortPosition возвращают локальные координаты GraphNode, не координаты графа или экрана. Учитывайте трансформации CanvasItem при переводе в другое пространство. _DrawPort получает slotIndex строки; его переопределение заменяет стандартную отрисовку порта, но не определяет правила соединения.
GetTitlebarHBox возвращает внутренний контейнер, принадлежащий GraphNode. Добавляйте в него свою кнопку закрытия, не освобождая сам контейнер. Перед удалением элемента обработайте модель и связи GraphEdit; наличие CloseRequest в SDK не является гарантией готовой кнопки закрытия.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
GraphNodeКонструктор
public GraphNode();Создаёт элемент графа без включённых портов. Строки Control и конфигурацию SetSlot добавляйте отдельно; собственные внутренние элементы заголовка не являются строками.
Свойства3
IgnoreInvalidConnectionTypeСвойство
public bool IgnoreInvalidConnectionType { get; set; }Ослабляет фильтр типов кандидатов соединения в UI GraphEdit, false по умолчанию. Не заменяет проверку модели и не связывает порты по цвету.
SlotsFocusModeСвойство
public Control.FocusModeEnum SlotsFocusMode { get; set; }Режим фокуса строк, Accessibility по умолчанию. Допустимы Click, All и Accessibility; None не принимается. Это не общий FocusMode всех вложенных полей.
TitleСвойство
public string Title { get; set; }Видимая подпись GraphNode, независимо от Name, используемого соединениями.
Методы43
ClearAllSlotsvoid
public void ClearAllSlots();Удаляет все настройки строк и обновляет кэш портов. Дочерние Control сохраняются; SlotUpdated для каждой строки не испускается. Раскладка может снова создать записи стиля по умолчанию без включённых портов.
ClearSlotvoid
public void ClearSlot(int slotIndex);Удаляет запись строки и помечает кэш портов устаревшим. Не удаляет дочерний Control, не перенумеровывает записи и не испускает SlotUpdated.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
GetInputPortColorColor
public Color GetInputPortColor(int portIdx);Возвращает цвет по плотному индексу входных портов 0…GetInputPortCount()-1. Не передавайте slotIndex вместо portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
portIdx | int | — |
portIdxПлотный индекс соответствующей стороны: 0…GetInputPortCount()-1 либо 0…GetOutputPortCount()-1. Не индекс строки.
ColorВозвращает цвет по плотному индексу входных портов 0…GetInputPortCount()-1. Не передавайте slotIndex вместо portIdx.
GetInputPortCountint
public int GetInputPortCount();Число активных входных портов в текущем кэше строк. Не количество всех детей или записей SetSlot.
intЧисло активных входных портов в текущем кэше строк. Не количество всех детей или записей SetSlot.
GetInputPortPositionVector2
public Vector2 GetInputPortPosition(int portIdx);Возвращает локальную позицию центра по плотному индексу входных портов 0…GetInputPortCount()-1. Не передавайте slotIndex вместо portIdx. Координаты локальны для GraphNode, до его CanvasItem-трансформации.
| Имя | Тип | По умолчанию |
|---|---|---|
portIdx | int | — |
portIdxПлотный индекс соответствующей стороны: 0…GetInputPortCount()-1 либо 0…GetOutputPortCount()-1. Не индекс строки.
Vector2Возвращает локальную позицию центра по плотному индексу входных портов 0…GetInputPortCount()-1. Не передавайте slotIndex вместо portIdx. Координаты локальны для GraphNode, до его CanvasItem-трансформации.
GetInputPortSlotint
public int GetInputPortSlot(int portIdx);Возвращает индекс строки по плотному индексу входных портов 0…GetInputPortCount()-1. Не передавайте slotIndex вместо portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
portIdx | int | — |
portIdxПлотный индекс соответствующей стороны: 0…GetInputPortCount()-1 либо 0…GetOutputPortCount()-1. Не индекс строки.
intВозвращает индекс строки по плотному индексу входных портов 0…GetInputPortCount()-1. Не передавайте slotIndex вместо portIdx.
GetInputPortTypeint
public int GetInputPortType(int portIdx);Возвращает тип по плотному индексу входных портов 0…GetInputPortCount()-1. Не передавайте slotIndex вместо portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
portIdx | int | — |
portIdxПлотный индекс соответствующей стороны: 0…GetInputPortCount()-1 либо 0…GetOutputPortCount()-1. Не индекс строки.
intВозвращает тип по плотному индексу входных портов 0…GetInputPortCount()-1. Не передавайте slotIndex вместо portIdx.
GetOutputPortColorColor
public Color GetOutputPortColor(int portIdx);Возвращает цвет по плотному индексу выходных портов 0…GetOutputPortCount()-1. Не передавайте slotIndex вместо portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
portIdx | int | — |
portIdxПлотный индекс соответствующей стороны: 0…GetInputPortCount()-1 либо 0…GetOutputPortCount()-1. Не индекс строки.
ColorВозвращает цвет по плотному индексу выходных портов 0…GetOutputPortCount()-1. Не передавайте slotIndex вместо portIdx.
GetOutputPortCountint
public int GetOutputPortCount();Число активных выходных портов в текущем кэше строк. Не количество всех детей или записей SetSlot.
intЧисло активных выходных портов в текущем кэше строк. Не количество всех детей или записей SetSlot.
GetOutputPortPositionVector2
public Vector2 GetOutputPortPosition(int portIdx);Возвращает локальную позицию центра по плотному индексу выходных портов 0…GetOutputPortCount()-1. Не передавайте slotIndex вместо portIdx. Координаты локальны для GraphNode, до его CanvasItem-трансформации.
| Имя | Тип | По умолчанию |
|---|---|---|
portIdx | int | — |
portIdxПлотный индекс соответствующей стороны: 0…GetInputPortCount()-1 либо 0…GetOutputPortCount()-1. Не индекс строки.
Vector2Возвращает локальную позицию центра по плотному индексу выходных портов 0…GetOutputPortCount()-1. Не передавайте slotIndex вместо portIdx. Координаты локальны для GraphNode, до его CanvasItem-трансформации.
GetOutputPortSlotint
public int GetOutputPortSlot(int portIdx);Возвращает индекс строки по плотному индексу выходных портов 0…GetOutputPortCount()-1. Не передавайте slotIndex вместо portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
portIdx | int | — |
portIdxПлотный индекс соответствующей стороны: 0…GetInputPortCount()-1 либо 0…GetOutputPortCount()-1. Не индекс строки.
intВозвращает индекс строки по плотному индексу выходных портов 0…GetOutputPortCount()-1. Не передавайте slotIndex вместо portIdx.
GetOutputPortTypeint
public int GetOutputPortType(int portIdx);Возвращает тип по плотному индексу выходных портов 0…GetOutputPortCount()-1. Не передавайте slotIndex вместо portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
portIdx | int | — |
portIdxПлотный индекс соответствующей стороны: 0…GetInputPortCount()-1 либо 0…GetOutputPortCount()-1. Не индекс строки.
intВозвращает тип по плотному индексу выходных портов 0…GetOutputPortCount()-1. Не передавайте slotIndex вместо portIdx.
GetSlotColorLeftColor
public Color GetSlotColorLeft(int slotIndex);Возвращает цвет левого края; для отсутствующей записи белый. Это getter по строке, не portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
ColorВозвращает цвет левого края; для отсутствующей записи белый. Это getter по строке, не portIdx.
GetSlotColorRightColor
public Color GetSlotColorRight(int slotIndex);Возвращает цвет правого края; для отсутствующей записи белый. Это getter по строке, не portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
ColorВозвращает цвет правого края; для отсутствующей записи белый. Это getter по строке, не portIdx.
GetSlotCustomIconLeftTexture2D
public Texture2D GetSlotCustomIconLeft(int slotIndex);Возвращает общую Texture2D иконки левого края; для отсутствующей записи null. Это getter по строке, не portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
Texture2DВозвращает общую Texture2D иконки левого края; для отсутствующей записи null. Это getter по строке, не portIdx.
GetSlotCustomIconRightTexture2D
public Texture2D GetSlotCustomIconRight(int slotIndex);Возвращает общую Texture2D иконки правого края; для отсутствующей записи null. Это getter по строке, не portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
Texture2DВозвращает общую Texture2D иконки правого края; для отсутствующей записи null. Это getter по строке, не portIdx.
GetSlotMetadataLeftVariant
public Variant GetSlotMetadataLeft(int slotIndex);Возвращает Variant metadata левого края или Nil. Возвращённую C#-обёртку Variant освобождайте после чтения; вложенный объект не становится вашим отдельным владельческим экземпляром.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
VariantВозвращает Variant metadata левого края или Nil. Возвращённую C#-обёртку Variant освобождайте после чтения; вложенный объект не становится вашим отдельным владельческим экземпляром.
GetSlotMetadataRightVariant
public Variant GetSlotMetadataRight(int slotIndex);Возвращает Variant metadata правого края или Nil. Возвращённую C#-обёртку Variant освобождайте после чтения; вложенный объект не становится вашим отдельным владельческим экземпляром.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
VariantВозвращает Variant metadata правого края или Nil. Возвращённую C#-обёртку Variant освобождайте после чтения; вложенный объект не становится вашим отдельным владельческим экземпляром.
GetSlotTypeLeftint
public int GetSlotTypeLeft(int slotIndex);Возвращает целочисленный тип левого края; для отсутствующей записи 0. Это getter по строке, не portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
intВозвращает целочисленный тип левого края; для отсутствующей записи 0. Это getter по строке, не portIdx.
GetSlotTypeRightint
public int GetSlotTypeRight(int slotIndex);Возвращает целочисленный тип правого края; для отсутствующей записи 0. Это getter по строке, не portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
intВозвращает целочисленный тип правого края; для отсутствующей записи 0. Это getter по строке, не portIdx.
GetSlotsFocusModeControl.FocusModeEnum
public Control.FocusModeEnum GetSlotsFocusMode();Режим фокуса строк, Accessibility по умолчанию. Допустимы Click, All и Accessibility; None не принимается. Это не общий FocusMode всех вложенных полей.
Control.FocusModeEnumРежим фокуса строк, Accessibility по умолчанию. Допустимы Click, All и Accessibility; None не принимается. Это не общий FocusMode всех вложенных полей.
GetTitlestring
public string GetTitle();Видимая подпись GraphNode, независимо от Name, используемого соединениями.
stringВидимая подпись GraphNode, независимо от Name, используемого соединениями.
GetTitlebarHBoxHBoxContainer
public HBoxContainer GetTitlebarHBox();Общий внутренний HBoxContainer, принадлежащий GraphNode. Можно добавить свои кнопки; сам контейнер не освобождайте и не переносите.
HBoxContainerОбщий внутренний HBoxContainer, принадлежащий GraphNode. Можно добавить свои кнопки; сам контейнер не освобождайте и не переносите.
IsIgnoringValidConnectionTypebool
public bool IsIgnoringValidConnectionType();Возвращает IgnoreInvalidConnectionType. Имя метода сохранено в SDK: несмотря на слово Valid, true означает включённый флаг игнорирования ограничений типов.
boolВозвращает IgnoreInvalidConnectionType. Имя метода сохранено в SDK: несмотря на слово Valid, true означает включённый флаг игнорирования ограничений типов.
IsSlotDrawStyleboxbool
public bool IsSlotDrawStylebox(int slotIndex);Флаг стиля записи строки. Для отсутствующей записи false; раскладка существующей строки может создать запись с drawStylebox = true. Это не признак включённого порта.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
boolФлаг стиля записи строки. Для отсутствующей записи false; раскладка существующей строки может создать запись с drawStylebox = true. Это не признак включённого порта.
IsSlotEnabledLeftbool
public bool IsSlotEnabledLeft(int slotIndex);Включён ли порт левого края у этой строки. Отсутствующая запись возвращает false.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
boolВключён ли порт левого края у этой строки. Отсутствующая запись возвращает false.
IsSlotEnabledRightbool
public bool IsSlotEnabledRight(int slotIndex);Включён ли порт правого края у этой строки. Отсутствующая запись возвращает false.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
boolВключён ли порт правого края у этой строки. Отсутствующая запись возвращает false.
SetIgnoreInvalidConnectionTypevoid
public void SetIgnoreInvalidConnectionType(bool ignore);Ослабляет фильтр типов кандидатов соединения в UI GraphEdit, false по умолчанию. Не заменяет проверку модели и не связывает порты по цвету.
| Имя | Тип | По умолчанию |
|---|---|---|
ignore | bool | — |
ignoreОслабить фильтр типов соединения в UI.
SetSlotvoid
public void SetSlot(int slotIndex, bool enableLeftPort, int typeLeft, Color colorLeft, bool enableRightPort, int typeRight, Color colorRight, Texture2D customIconLeft = null, Texture2D customIconRight = null, bool drawStylebox = true);Полностью заменяет конфигурацию строки: стороны, типы, цвета, иконки и стиль. Metadata сбрасывается. Для удаления записи используйте ClearSlot: ветка полного сброса значениями по умолчанию может оставить старый кэш портов. slotIndex — строка, не portIdx.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
enableLeftPort | bool | — |
typeLeft | int | — |
colorLeft | Color | — |
enableRightPort | bool | — |
typeRight | int | — |
colorRight | Color | — |
customIconLeft | Texture2D | null |
customIconRight | Texture2D | null |
drawStylebox | bool | true |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
enableLeftPortВключить входной порт слева у строки.
typeLeftЦелочисленная категория входа, определяемая приложением.
colorLeftЦвет входного порта; не правило совместимости.
enableRightPortВключить выходной порт справа у строки.
typeRightЦелочисленная категория выхода, определяемая приложением.
colorRightЦвет выходного порта; не правило совместимости.
customIconLeftОбщая Texture2D либо null для стандартной иконки.
customIconRightОбщая Texture2D либо null для стандартной иконки.
drawStyleboxПрименять стиль строки; это не включение порта.
SetSlotColorLeftvoid
public void SetSlotColorLeft(int slotIndex, Color color);Задаёт цвет левого порта существующей записи. Сначала создайте запись через SetSlot/SetSlotEnabled*. Изменение испускает SlotUpdated; тип и цвет независимы.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
color | Color | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
colorЦвет оформления порта.
SetSlotColorRightvoid
public void SetSlotColorRight(int slotIndex, Color color);Задаёт цвет правого порта существующей записи. Сначала создайте запись через SetSlot/SetSlotEnabled*. Изменение испускает SlotUpdated; тип и цвет независимы.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
color | Color | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
colorЦвет оформления порта.
SetSlotCustomIconLeftvoid
public void SetSlotCustomIconLeft(int slotIndex, Texture2D customIcon);Задаёт общую Texture2D иконки левого порта существующей записи. Сначала создайте запись через SetSlot/SetSlotEnabled*. Изменение испускает SlotUpdated; тип и цвет независимы.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
customIcon | Texture2D | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
customIconОбщая Texture2D либо null для стандартной иконки.
SetSlotCustomIconRightvoid
public void SetSlotCustomIconRight(int slotIndex, Texture2D customIcon);Задаёт общую Texture2D иконки правого порта существующей записи. Сначала создайте запись через SetSlot/SetSlotEnabled*. Изменение испускает SlotUpdated; тип и цвет независимы.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
customIcon | Texture2D | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
customIconОбщая Texture2D либо null для стандартной иконки.
SetSlotDrawStyleboxvoid
public void SetSlotDrawStylebox(int slotIndex, bool enable);Задаёт применение стиля строки, не включая порты. Может создать запись строки; испускает SlotUpdated даже при повторном значении.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
enable | bool | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
enableВключить указанную настройку строки.
SetSlotEnabledLeftvoid
public void SetSlotEnabledLeft(int slotIndex, bool enable);Включает или выключает порт левого края, создавая запись при необходимости. Изменение испускает SlotUpdated и меняет плотную нумерацию портов.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
enable | bool | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
enableВключить указанную настройку строки.
SetSlotEnabledRightvoid
public void SetSlotEnabledRight(int slotIndex, bool enable);Включает или выключает порт правого края, создавая запись при необходимости. Изменение испускает SlotUpdated и меняет плотную нумерацию портов.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
enable | bool | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
enableВключить указанную настройку строки.
SetSlotMetadataLeftvoid
public void SetSlotMetadataLeft(int slotIndex, Variant value);Сохраняет Variant левого края существующей записи. Не испускает SlotUpdated. Ресурсы/контейнеры внутри Variant могут оставаться общими; это не глубокое копирование.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
value | Variant | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
valueVariant metadata; при необходимости храните здесь устойчивый ключ своей модели.
SetSlotMetadataRightvoid
public void SetSlotMetadataRight(int slotIndex, Variant value);Сохраняет Variant правого края существующей записи. Не испускает SlotUpdated. Ресурсы/контейнеры внутри Variant могут оставаться общими; это не глубокое копирование.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
value | Variant | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
valueVariant metadata; при необходимости храните здесь устойчивый ключ своей модели.
SetSlotTypeLeftvoid
public void SetSlotTypeLeft(int slotIndex, int type);Задаёт целочисленный тип левого порта существующей записи. Сначала создайте запись через SetSlot/SetSlotEnabled*. Изменение испускает SlotUpdated; тип и цвет независимы.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
type | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
typeЦелочисленная категория порта; не цвет и не C# Type.
SetSlotTypeRightvoid
public void SetSlotTypeRight(int slotIndex, int type);Задаёт целочисленный тип правого порта существующей записи. Сначала создайте запись через SetSlot/SetSlotEnabled*. Изменение испускает SlotUpdated; тип и цвет независимы.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
type | int | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
typeЦелочисленная категория порта; не цвет и не C# Type.
SetSlotsFocusModevoid
public void SetSlotsFocusMode(Control.FocusModeEnum focusMode);Режим фокуса строк, Accessibility по умолчанию. Допустимы Click, All и Accessibility; None не принимается. Это не общий FocusMode всех вложенных полей.
| Имя | Тип | По умолчанию |
|---|---|---|
focusMode | Control.FocusModeEnum | — |
focusModeClick, All или Accessibility; None не поддерживается.
SetTitlevoid
public void SetTitle(string title);Видимая подпись GraphNode, независимо от Name, используемого соединениями.
| Имя | Тип | По умолчанию |
|---|---|---|
title | string | — |
titleВидимая подпись, отдельно от Name.
_DrawPortvoid
public virtual void _DrawPort(int slotIndex, Vector2I position, bool left, Color color);Виртуальная отрисовка порта по slotIndex строки, не индексу входа/выхода. position — локальный центр, left указывает сторону. Переопределение заменяет стандартный рисунок; вызовы рисования выполняйте в этом callback. Не изменяет тип или соединения.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | int | — |
position | Vector2I | — |
left | bool | — |
color | Color | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
positionЛокальный центр отрисовки порта.
lefttrue для левого входа, false для правого выхода.
colorЦвет оформления порта.
Сигналы и события3
CloseRequestСобытие
public event Action CloseRequest;Сохранённый в SDK запрос закрытия, не автоматическое удаление. Не рассчитывайте на штатную кнопку закрытия: добавьте свою в GetTitlebarHBox и обработайте связи/модель перед Free.
SlotSizesChangedСобытие
public event Action SlotSizesChanged;Повторно рассчитана раскладка строк. Сигнал без аргументов; перечитайте позиции портов. Не означает выполнение графа или изменение каждой настройки слота.
SlotUpdatedСобытие
public event GraphNode.SlotUpdatedEventHandler SlotUpdated;Изменена конфигурация указанной строки, не активация порта. Не универсальный наблюдатель: очистка и setters metadata его не испускают. Для сохранения модели учитывайте собственные операции явно.
| Имя | Тип | По умолчанию |
|---|---|---|
slotIndex | long | — |
slotIndexНеотрицательный индекс строки Control, отдельно от плотного индекса порта. После изменения строк пересчитайте соответствие.
Свойства темы
Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.
| Ключ и тип | Описание |
|---|---|
resizer_colorColor | Цветовая модуляция, примененная к значку изменения размера. По умолчанию:Color(0.875, 0.875, 0.875, 1) |
port_h_offsetint | Горизонтальное смещение портов. По умолчанию:0 |
separationint | Вертикальное расстояние между портами. По умолчанию:2 |
portTexture2D | Значок, используемый для обозначения портов. |
panelStyleBox | Фон по умолчанию для области слота |
panel_focusStyleBox |
|
panel_selectedStyleBox |
|
slotStyleBox | |
slot_selectedStyleBox |
|
titlebarStyleBox | |
titlebar_selectedStyleBox |
|