reckfellENGINE

GraphEdit

Редактор графа: размещение элементов и отображение направленных связей, отдельно от модели и исполнения.

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

GraphEdit — интерфейс редактора, а не исполнитель графа. Добавляйте GraphNode/GraphFrame непосредственными детьми. Создайте свою модель элементов и связей, а отображение восстанавливайте из неё. Обновляйте модель и UI согласованно; линии на экране сами не вызывают методы и не передают игровые данные.

Соединение задаётся направленным кортежем (fromNode, fromPort, toNode, toPort). Имена — Name дочерних GraphNode; fromPort — плотный индекс выхода, toPort — плотный индекс входа, не slotIndex строки. После изменения портов пересчитайте соответствие и восстановите связи из стабильных ключей модели. При переименовании Name явно обновляйте записи соединений.

Пользовательский жест испускает ConnectionRequest. В обработчике проверьте существование элементов, диапазоны портов, типы, запрет циклов и число допустимых связей своей модели; затем запишите связь и вызовите ConnectNode. DisconnectionRequest аналогично требует обработки и DisconnectNode. Программные ConnectNode/DisconnectNode/ClearConnections сами эти request-сигналы не испускают.

ConnectNode возвращает Error, но Ok не доказывает существование элементов, портов или семантическую допустимость связи. Метод может сохранить ещё не разрешённые имена и обходится без фильтра допустимых типов UI. Повтор того же кортежа возвращает Ok без дубликата и без изменения keepAlive: чтобы сменить этот флаг, удалите и создайте запись заново.

AddValidConnectionType регистрирует направленную пару типов для кандидатов UI. Равные типы обычно допускаются отдельным правилом интерактивного соединения; IsValidConnectionType проверяет только явно добавленные пары и потому может вернуть false для одинаковых типов. Это не полная проверка возможности связать два конкретных порта.

GetConnectionList возвращает снимок массива словарей с from_node, from_port, to_node, to_port и keep_alive. Изменение снимка не редактирует граф. Connections/SetConnections заменяет весь список, предварительно очищая старый; проверьте все поля и конечные точки до присваивания. Для сохранения проекта предпочтительна собственная схема со стабильными ID портов, а не текущими UI-индексами.

GetConnectionCount учитывает совпадение элемента/номера порта на любом конце связи, без отдельного аргумента направления. GetConnectionListFromNode включает и входящие, и исходящие связи; название не означает только исходящие. Не вызывайте его для произвольного изолированного имени без записи связей: для безопасного общего обхода фильтруйте GetConnectionList.

keepAlive сохраняет запись при временно отсутствующем GraphNode во время обновления отображения. Он не удерживает Entity в памяти, не создаёт элементы и не делает неверный индекс порта безопасным. SetConnectionActivity меняет оформление существующей линии, а не исполняет граф. RightDisconnects и списки типов отключения управляют жестами UI; они не запрещают DisconnectNode из кода и не означают кнопку мыши «правая».

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

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

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

Создаёт Control редактора графа со встроенной панелью инструментов и миникартой. Модель и GraphNode добавляются приложением; внутренние дети не являются элементами вашей модели.

Свойства28

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

Старое инвертированное свойство: true означает ShowArrangeButton = false. В новом коде используйте ShowArrangeButton, чтобы избежать двойного отрицания.

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

Запрос сглаживания линий GraphEdit. Не является глобальным MSAA/TAA и не гарантирует сглаживание текста, сетки или сторонних элементов.

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

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

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

Толщина линий в локальных единицах оформления. Допустимо 0 и больше; отрицательное значение отклоняется. Не меняет типы, число соединений или масштаб элементов.

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

Снимок списка соединений. Присваивание заменяет весь список и сначала очищает прежний. Каждая Dictionary должна содержать from_node, from_port, to_node, to_port, keep_alive; проверьте её заранее. Это не изменяемая живая коллекция.

GridPatternСвойство
# GridPattern
C#
public GraphEdit.GridPatternEnum GridPattern { get; set; }

Вид сетки: Lines или Dots, Lines по умолчанию. Меняет фон, не правила соединений и не шаг привязки.

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

Включает отображение миникарты. Независимо от ShowMinimapButton: скрытая кнопка не означает выключенную миникарту. Не создаёт вторую модель графа.

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

Alpha миникарты. Обычно используйте 0…1; setter сохраняет и значения вне этого диапазона без нормализации. Нулевая alpha не равнозначна отключению миникарты/её ввода.

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

Размер контрола миникарты в локальных единицах UI, ограниченный его минимумом. Запрос меньше минимума увеличивается; читайте фактический размер getter. Это не масштаб координат графа.

PanningSchemeСвойство
# PanningScheme
C#
public GraphEdit.PanningSchemeEnum PanningScheme { get; set; }

Схема колеса: Zooms масштабирует колесом и прокручивает с Ctrl; Pans меняет эти действия местами. Не меняет координаты модели и не отключает программные Zoom/ScrollOffset.

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

Разрешает UI начать переустановку связи со стороны входного порта, false по умолчанию. Не обозначает правую кнопку мыши и не удаляет запись без обработки запроса приложением.

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

Смещение просмотра в локальных единицах GraphEdit после учёта zoom; Position элемента вычисляется как PositionOffset × Zoom − ScrollOffset. Setter ограничивает значение текущим диапазоном прокрутки и откладывает обновление позиций. Читайте фактическое значение обратно; программное присваивание может вызвать ScrollOffsetChanged.

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

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

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

Показывать фоновые линии/точки сетки, true по умолчанию. Не включает и не выключает SnappingEnabled: невидимая сетка может оставаться активной для привязки.

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

Показывать элементы настройки сетки/привязки. Скрытие не сбрасывает ShowGrid, SnappingEnabled или SnappingDistance.

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

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

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

Показывать кнопку переключения миникарты. Не меняет MinimapEnabled.

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

Показывать кнопки уменьшения, сброса и увеличения zoom. Не запрещает изменение Zoom из кода или колесом.

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

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

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

Старое имя свойства SnappingDistance. Используйте SnappingDistance; это тот же шаг привязки и те же ограничения.

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

Шаг привязки в координатах графа до zoom, 20 по умолчанию. При штатном масштабе сетки используйте 2…100 включительно. Setter не перемещает уже размещённые элементы на сетку автоматически.

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

Привязка пользовательского перемещения/resize к сетке, true по умолчанию. Не включает ShowGrid и не округляет программный GraphElement.PositionOffset. При штатном взаимодействии Ctrl может временно изменить применение привязки.

TypeNamesСвойство
# TypeNames
C#
public Reckfell.Collections.Dictionary TypeNames { get; set; }

Общий Dictionary соответствий целочисленных типов их подписям. Getter/setter не копируют контейнер глубоко. Изменение словаря не регистрирует допустимые пары соединения; используйте AddValidConnectionType отдельно.

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

Старое имя свойства SnappingEnabled. Используйте SnappingEnabled в новом коде; поведение и общий флаг одинаковы.

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

Множитель масштаба, 1 по умолчанию. Ограничивается ZoomMin/ZoomMax. При видимом GraphEdit масштабирование сохраняет точку под центром просмотра, поэтому ScrollOffset может измениться. PositionOffset модели не умножайте заранее.

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

Верхняя граница Zoom. Используйте положительное значение не меньше ZoomMin; setter повторно ограничивает текущий Zoom. Это не максимальная координата графа.

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

Нижняя граница Zoom. Используйте положительное значение не больше ZoomMax; setter повторно ограничивает текущий Zoom. При расширении диапазона сначала задайте совместимые границы.

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

Множитель одного шага zoom, 1,2 по умолчанию. Используйте конечное значение > 1; отрицательный ввод преобразуется в абсолютный. Изменение шага не пересчитывает уже заданные ZoomMin/ZoomMax.

Методы83

AddValidConnectionTypevoid
# AddValidConnectionType
C#
public void AddValidConnectionType(int fromType, int toType);

Добавляет направленную пару fromType → toType для фильтра кандидатов UI. Не создаёт связь и не добавляет обратную пару. ConnectNode не выполняет эту проверку вместо приложения.

Параметры
ИмяТипПо умолчанию
fromTypeint—
toTypeint—
fromType

Целочисленный тип выхода.

toType

Целочисленный тип входа.

AddValidLeftDisconnectTypevoid
# AddValidLeftDisconnectType
C#
public void AddValidLeftDisconnectType(int type);

Разрешает для типа порта UI-переустановку связи со стороны выхода. Не вызывает DisconnectNode и не изменяет существующие записи.

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

Целочисленная категория порта для политики UI.

AddValidRightDisconnectTypevoid
# AddValidRightDisconnectType
C#
public void AddValidRightDisconnectType(int type);

Разрешает для типа порта UI-переустановку связи со стороны входа. Не вызывает DisconnectNode и не изменяет существующие записи.

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

Целочисленная категория порта для политики UI.

ArrangeNodesvoid
# ArrangeNodes
C#
public void ArrangeNodes();

Автоматически раскладывает выделенные прямые GraphNode, а если выделенных GraphNode нет — все. Меняет PositionOffset и испускает BeginNodeMove/EndNodeMove, но не создаёт связи и не сохраняет undo за приложение. Для одной операции undo снимите координаты до начала и запишите итог после завершения.

AttachGraphElementToFramevoid
# AttachGraphElementToFrame
C#
public void AttachGraphElementToFrame(StringName element, StringName frame);

Связывает прямой GraphElement с прямой GraphFrame по их Name. Не меняет родителя и не передаёт владение. Перед переносом в другую рамку сначала Detach; проверяйте отсутствие циклов группировки. Может пересчитать рамку.

Параметры
ИмяТипПо умолчанию
elementStringName—
frameStringName—
element

Name прямого GraphElement, не Title и не индекс ребёнка.

frame

Name прямой GraphFrame; для FrameRectChanged — общий объект рамки, принадлежащий графу.

ClearConnectionsvoid
# ClearConnections
C#
public void ClearConnections();

Удаляет все записи и линии соединений, сохраняя элементы GraphNode. Не испускает запрос отключения для каждой связи.

ConnectNode2 перегрузки
# ConnectNode · 1/2
C#
public Error ConnectNode(StringName fromNode, int fromPort, StringName toNode, int toPort);

Короткая перегрузка ConnectNode с keepAlive = false. Сохраняет связь без проверки вашей модели и без ConnectionRequest.

Параметры
ИмяТипПо умолчанию
fromNodeStringName—
fromPortint—
toNodeStringName—
toPortint—
fromNode

Name исходного GraphNode — отдельный идентификатор, не Title.

fromPort

Плотный индекс выхода исходного элемента, не slotIndex строки.

toNode

Name конечного GraphNode — отдельный идентификатор, не Title.

toPort

Плотный индекс входа конечного элемента, не slotIndex строки.

Возвращает Error

Error.Ok при сохранении или уже имеющемся кортеже; не результат проверки модели.

# ConnectNode · 2/2
C#
public Error ConnectNode(StringName fromNode, int fromPort, StringName toNode, int toPort, bool keepAlive = false);

Сохраняет направленную связь и создаёт её отображение. Не испускает ConnectionRequest и не проверяет вашу модель, существование/диапазон портов или пары типов UI. Повтор кортежа — Ok без изменения keepAlive. Проверяйте конечные точки до вызова.

Параметры
ИмяТипПо умолчанию
fromNodeStringName—
fromPortint—
toNodeStringName—
toPortint—
keepAliveboolfalse
fromNode

Name исходного GraphNode — отдельный идентификатор, не Title.

fromPort

Плотный индекс выхода исходного элемента, не slotIndex строки.

toNode

Name конечного GraphNode — отдельный идентификатор, не Title.

toPort

Плотный индекс входа конечного элемента, не slotIndex строки.

keepAlive

Сохранять запись при временно отсутствующем GraphNode. Не удерживает Entity в памяти и не разрешает неверные порты.

Возвращает Error

Error.Ok при сохранении или уже имеющемся кортеже; не результат проверки модели.

DetachGraphElementFromFramevoid
# DetachGraphElementFromFrame
C#
public void DetachGraphElementFromFrame(StringName element);

Снимает связь группировки, сохраняя объекты детьми GraphEdit. Для несвязанного имени ничего не делает; может пересчитать прежнюю рамку.

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

Name прямого GraphElement, не Title и не индекс ребёнка.

DisconnectNodevoid
# DisconnectNode
C#
public void DisconnectNode(StringName fromNode, int fromPort, StringName toNode, int toPort);

Удаляет точный кортеж, если он есть; отсутствие пропускается. Не испускает DisconnectionRequest и не удаляет GraphNode/данные модели.

Параметры
ИмяТипПо умолчанию
fromNodeStringName—
fromPortint—
toNodeStringName—
toPortint—
fromNode

Name исходного GraphNode — отдельный идентификатор, не Title.

fromPort

Плотный индекс выхода исходного элемента, не slotIndex строки.

toNode

Name конечного GraphNode — отдельный идентификатор, не Title.

toPort

Плотный индекс входа конечного элемента, не slotIndex строки.

ForceConnectionDragEndvoid
# ForceConnectionDragEnd
C#
public void ForceConnectionDragEnd();

Принудительно завершает только уже активный жест и испускает ConnectionDragEnded. Вызов без активного drag — ошибка. Не удаляет сохранённые связи и не откатывает модель.

GetAttachedNodesOfFrameReckfell.Collections.Array<StringName>
# GetAttachedNodesOfFrame
C#
public Reckfell.Collections.Array<StringName> GetAttachedNodesOfFrame(StringName frame);

Возвращает снимок имён элементов группы, не объектов дерева. Для неизвестной группы — пустой массив. Порядок не является устойчивым индексом модели; изменение массива не меняет связи.

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

Name прямой GraphFrame; для FrameRectChanged — общий объект рамки, принадлежащий графу.

Возвращает Reckfell.Collections.Array<StringName>

Возвращает снимок имён элементов группы, не объектов дерева. Для неизвестной группы — пустой массив. Порядок не является устойчивым индексом модели; изменение массива не меняет связи.

GetClosestConnectionAtPointReckfell.Collections.Dictionary
# GetClosestConnectionAtPoint
C#
public Reckfell.Collections.Dictionary GetClosestConnectionAtPoint(Vector2 point, float maxDistance = 4f);

Ищет ближайшую линию по локальной позиции GraphEdit и неотрицательному допуску maxDistance в единицах UI. Возвращает снимок Dictionary с пятью полями соединения либо пустой словарь. Требует актуальный кэш линий после раскладки; не проверяет существование/типы портов модели.

Параметры
ИмяТипПо умолчанию
pointVector2—
maxDistancefloat4f
point

Локальная позиция GraphEdit, не PositionOffset и не координаты ОС.

maxDistance

Неотрицательный допуск поиска линии в локальных единицах UI.

Возвращает Reckfell.Collections.Dictionary

Ищет ближайшую линию по локальной позиции GraphEdit и неотрицательному допуску maxDistance в единицах UI. Возвращает снимок Dictionary с пятью полями соединения либо пустой словарь. Требует актуальный кэш линий после раскладки; не проверяет существование/типы портов модели.

GetConnectionCountint
# GetConnectionCount
C#
public int GetConnectionCount(StringName fromNode, int fromPort);

Число связей, где имя и номер порта совпали на любом конце. Не различает вход/выход с одинаковым номером; для подсчёта одной стороны фильтруйте словари.

Параметры
ИмяТипПо умолчанию
fromNodeStringName—
fromPortint—
fromNode

Name элемента для поиска совпадений на любом конце связи.

fromPort

Номер порта, сравниваемый на обоих концах; вход и выход с одинаковым номером не разделяются.

Возвращает int

Количество инцидентных совпадений имени/номера порта.

GetConnectionLineVector2[]
# GetConnectionLine
C#
public Vector2[] GetConnectionLine(Vector2 fromNode, Vector2 toNode);

Вычисляет массив точек линии для двух переданных позиций в одном пространстве координат. Аргументы fromNode/toNode здесь Vector2, не имена элементов. Вызывает _GetConnectionLine при переопределении; не создаёт запись соединения.

Параметры
ИмяТипПо умолчанию
fromNodeVector2—
toNodeVector2—
fromNode

Name исходного GraphNode; только в GetConnectionLine это позиция Vector2, не имя.

toNode

Name конечного GraphNode; только в GetConnectionLine это позиция Vector2, не имя.

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

Вычисляет массив точек линии для двух переданных позиций в одном пространстве координат. Аргументы fromNode/toNode здесь Vector2, не имена элементов. Вызывает _GetConnectionLine при переопределении; не создаёт запись соединения.

GetConnectionLinesCurvaturefloat
# GetConnectionLinesCurvature
C#
public float GetConnectionLinesCurvature();

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

Возвращает float

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

GetConnectionLinesThicknessfloat
# GetConnectionLinesThickness
C#
public float GetConnectionLinesThickness();

Толщина линий в локальных единицах оформления. Допустимо 0 и больше; отрицательное значение отклоняется. Не меняет типы, число соединений или масштаб элементов.

Возвращает float

Толщина линий в локальных единицах оформления. Допустимо 0 и больше; отрицательное значение отклоняется. Не меняет типы, число соединений или масштаб элементов.

GetConnectionListReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# GetConnectionList
C#
public Reckfell.Collections.Array<Reckfell.Collections.Dictionary> GetConnectionList();

Возвращает независимый снимок словарей: from_node, from_port, to_node, to_port, keep_alive. Изменение массива/словаря не меняет граф. Список относится к UI-связям, не автоматически сохранённой модели.

Возвращает Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Возвращает независимый снимок словарей: from_node, from_port, to_node, to_port, keep_alive. Изменение массива/словаря не меняет граф. Список относится к UI-связям, не автоматически сохранённой модели.

GetConnectionListFromNodeReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# GetConnectionListFromNode
C#
public Reckfell.Collections.Array<Reckfell.Collections.Dictionary> GetConnectionListFromNode(StringName node);

Возвращает снимок всех инцидентных связей, включая входящие. Требует запись имени во внутренней таблице связей; для произвольного изолированного элемента фильтруйте GetConnectionList вместо этого вызова.

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

Name элемента с записью в таблице связей; выборка включает оба направления.

Возвращает Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Возвращает снимок всех инцидентных связей, включая входящие. Требует запись имени во внутренней таблице связей; для произвольного изолированного элемента фильтруйте GetConnectionList вместо этого вызова.

GetConnectionsIntersectingWithRectReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# GetConnectionsIntersectingWithRect
C#
public Reckfell.Collections.Array<Reckfell.Collections.Dictionary> GetConnectionsIntersectingWithRect(Rect2 rect);

Возвращает снимки связей, геометрия которых пересекает локальный прямоугольник GraphEdit. Это проверка линий по кэшу, не выбор всех элементов внутри рамки и не изменение соединений.

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

Локальный прямоугольник GraphEdit для проверки геометрии линий.

Возвращает Reckfell.Collections.Array<Reckfell.Collections.Dictionary>

Возвращает снимки связей, геометрия которых пересекает локальный прямоугольник GraphEdit. Это проверка линий по кэшу, не выбор всех элементов внутри рамки и не изменение соединений.

GetElementFrameGraphFrame
# GetElementFrame
C#
public GraphFrame GetElementFrame(StringName element);

Возвращает общий объект рамки элемента либо null. Не меняет владение: рамку отдельно не освобождайте как временный результат getter.

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

Name прямого GraphElement, не Title и не индекс ребёнка.

Возвращает GraphFrame

Возвращает общий объект рамки элемента либо null. Не меняет владение: рамку отдельно не освобождайте как временный результат getter.

GetGridPatternGraphEdit.GridPatternEnum
# GetGridPattern
C#
public GraphEdit.GridPatternEnum GetGridPattern();

Вид сетки: Lines или Dots, Lines по умолчанию. Меняет фон, не правила соединений и не шаг привязки.

Возвращает GraphEdit.GridPatternEnum

Вид сетки: Lines или Dots, Lines по умолчанию. Меняет фон, не правила соединений и не шаг привязки.

GetMenuHBoxHBoxContainer
# GetMenuHBox
C#
public HBoxContainer GetMenuHBox();

Возвращает общий внутренний HBoxContainer панели. Можно добавить свои кнопки; не освобождайте и не переносите сам контейнер, его время жизни принадлежит GraphEdit.

Возвращает HBoxContainer

Возвращает общий внутренний HBoxContainer панели. Можно добавить свои кнопки; не освобождайте и не переносите сам контейнер, его время жизни принадлежит GraphEdit.

GetMinimapOpacityfloat
# GetMinimapOpacity
C#
public float GetMinimapOpacity();

Alpha миникарты. Обычно используйте 0…1; setter сохраняет и значения вне этого диапазона без нормализации. Нулевая alpha не равнозначна отключению миникарты/её ввода.

Возвращает float

Alpha миникарты. Обычно используйте 0…1; setter сохраняет и значения вне этого диапазона без нормализации. Нулевая alpha не равнозначна отключению миникарты/её ввода.

GetMinimapSizeVector2
# GetMinimapSize
C#
public Vector2 GetMinimapSize();

Размер контрола миникарты в локальных единицах UI, ограниченный его минимумом. Запрос меньше минимума увеличивается; читайте фактический размер getter. Это не масштаб координат графа.

Возвращает Vector2

Размер контрола миникарты в локальных единицах UI, ограниченный его минимумом. Запрос меньше минимума увеличивается; читайте фактический размер getter. Это не масштаб координат графа.

GetPanningSchemeGraphEdit.PanningSchemeEnum
# GetPanningScheme
C#
public GraphEdit.PanningSchemeEnum GetPanningScheme();

Схема колеса: Zooms масштабирует колесом и прокручивает с Ctrl; Pans меняет эти действия местами. Не меняет координаты модели и не отключает программные Zoom/ScrollOffset.

Возвращает GraphEdit.PanningSchemeEnum

Схема колеса: Zooms масштабирует колесом и прокручивает с Ctrl; Pans меняет эти действия местами. Не меняет координаты модели и не отключает программные Zoom/ScrollOffset.

GetScrollOffsetVector2
# GetScrollOffset
C#
public Vector2 GetScrollOffset();

Смещение просмотра в локальных единицах GraphEdit после учёта zoom; Position элемента вычисляется как PositionOffset × Zoom − ScrollOffset. Setter ограничивает значение текущим диапазоном прокрутки и откладывает обновление позиций. Читайте фактическое значение обратно; программное присваивание может вызвать ScrollOffsetChanged.

Возвращает Vector2

Смещение просмотра в локальных единицах GraphEdit после учёта zoom; Position элемента вычисляется как PositionOffset × Zoom − ScrollOffset. Setter ограничивает значение текущим диапазоном прокрутки и откладывает обновление позиций. Читайте фактическое значение обратно; программное присваивание может вызвать ScrollOffsetChanged.

GetSnappingDistanceint
# GetSnappingDistance
C#
public int GetSnappingDistance();

Шаг привязки в координатах графа до zoom, 20 по умолчанию. При штатном масштабе сетки используйте 2…100 включительно. Setter не перемещает уже размещённые элементы на сетку автоматически.

Возвращает int

Шаг привязки в координатах графа до zoom, 20 по умолчанию. При штатном масштабе сетки используйте 2…100 включительно. Setter не перемещает уже размещённые элементы на сетку автоматически.

GetTypeNamesReckfell.Collections.Dictionary
# GetTypeNames
C#
public Reckfell.Collections.Dictionary GetTypeNames();

Общий Dictionary соответствий целочисленных типов их подписям. Getter/setter не копируют контейнер глубоко. Изменение словаря не регистрирует допустимые пары соединения; используйте AddValidConnectionType отдельно.

Возвращает Reckfell.Collections.Dictionary

Общий Dictionary соответствий целочисленных типов их подписям. Getter/setter не копируют контейнер глубоко. Изменение словаря не регистрирует допустимые пары соединения; используйте AddValidConnectionType отдельно.

GetZoomfloat
# GetZoom
C#
public float GetZoom();

Множитель масштаба, 1 по умолчанию. Ограничивается ZoomMin/ZoomMax. При видимом GraphEdit масштабирование сохраняет точку под центром просмотра, поэтому ScrollOffset может измениться. PositionOffset модели не умножайте заранее.

Возвращает float

Множитель масштаба, 1 по умолчанию. Ограничивается ZoomMin/ZoomMax. При видимом GraphEdit масштабирование сохраняет точку под центром просмотра, поэтому ScrollOffset может измениться. PositionOffset модели не умножайте заранее.

GetZoomHBoxHBoxContainer
# GetZoomHBox
C#
public HBoxContainer GetZoomHBox();

Старое имя GetMenuHBox: возвращает тот же общий контейнер всей панели, не отдельную новую панель zoom. Используйте GetMenuHBox и не освобождайте результат отдельно.

Возвращает HBoxContainer

Старое имя GetMenuHBox: возвращает тот же общий контейнер всей панели, не отдельную новую панель zoom. Используйте GetMenuHBox и не освобождайте результат отдельно.

GetZoomMaxfloat
# GetZoomMax
C#
public float GetZoomMax();

Верхняя граница Zoom. Используйте положительное значение не меньше ZoomMin; setter повторно ограничивает текущий Zoom. Это не максимальная координата графа.

Возвращает float

Верхняя граница Zoom. Используйте положительное значение не меньше ZoomMin; setter повторно ограничивает текущий Zoom. Это не максимальная координата графа.

GetZoomMinfloat
# GetZoomMin
C#
public float GetZoomMin();

Нижняя граница Zoom. Используйте положительное значение не больше ZoomMax; setter повторно ограничивает текущий Zoom. При расширении диапазона сначала задайте совместимые границы.

Возвращает float

Нижняя граница Zoom. Используйте положительное значение не больше ZoomMax; setter повторно ограничивает текущий Zoom. При расширении диапазона сначала задайте совместимые границы.

GetZoomStepfloat
# GetZoomStep
C#
public float GetZoomStep();

Множитель одного шага zoom, 1,2 по умолчанию. Используйте конечное значение > 1; отрицательный ввод преобразуется в абсолютный. Изменение шага не пересчитывает уже заданные ZoomMin/ZoomMax.

Возвращает float

Множитель одного шага zoom, 1,2 по умолчанию. Используйте конечное значение > 1; отрицательный ввод преобразуется в абсолютный. Изменение шага не пересчитывает уже заданные ZoomMin/ZoomMax.

IsArrangeNodesButtonHiddenbool
# IsArrangeNodesButtonHidden
C#
public bool IsArrangeNodesButtonHidden();

Старое инвертированное свойство: true означает ShowArrangeButton = false. В новом коде используйте ShowArrangeButton, чтобы избежать двойного отрицания.

Возвращает bool

Старое инвертированное свойство: true означает ShowArrangeButton = false. В новом коде используйте ShowArrangeButton, чтобы избежать двойного отрицания.

IsConnectionLinesAntialiasedbool
# IsConnectionLinesAntialiased
C#
public bool IsConnectionLinesAntialiased();

Запрос сглаживания линий GraphEdit. Не является глобальным MSAA/TAA и не гарантирует сглаживание текста, сетки или сторонних элементов.

Возвращает bool

Запрос сглаживания линий GraphEdit. Не является глобальным MSAA/TAA и не гарантирует сглаживание текста, сетки или сторонних элементов.

IsMinimapEnabledbool
# IsMinimapEnabled
C#
public bool IsMinimapEnabled();

Включает отображение миникарты. Независимо от ShowMinimapButton: скрытая кнопка не означает выключенную миникарту. Не создаёт вторую модель графа.

Возвращает bool

Включает отображение миникарты. Независимо от ShowMinimapButton: скрытая кнопка не означает выключенную миникарту. Не создаёт вторую модель графа.

IsNodeConnectedbool
# IsNodeConnected
C#
public bool IsNodeConnected(StringName fromNode, int fromPort, StringName toNode, int toPort);

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

Параметры
ИмяТипПо умолчанию
fromNodeStringName—
fromPortint—
toNodeStringName—
toPortint—
fromNode

Name исходного GraphNode — отдельный идентификатор, не Title.

fromPort

Плотный индекс выхода исходного элемента, не slotIndex строки.

toNode

Name конечного GraphNode — отдельный идентификатор, не Title.

toPort

Плотный индекс входа конечного элемента, не slotIndex строки.

Возвращает bool

Есть ли точный направленный кортеж.

IsRightDisconnectsEnabledbool
# IsRightDisconnectsEnabled
C#
public bool IsRightDisconnectsEnabled();

Разрешает UI начать переустановку связи со стороны входного порта, false по умолчанию. Не обозначает правую кнопку мыши и не удаляет запись без обработки запроса приложением.

Возвращает bool

Разрешает UI начать переустановку связи со стороны входного порта, false по умолчанию. Не обозначает правую кнопку мыши и не удаляет запись без обработки запроса приложением.

IsShowingArrangeButtonbool
# IsShowingArrangeButton
C#
public bool IsShowingArrangeButton();

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

Возвращает bool

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

IsShowingGridbool
# IsShowingGrid
C#
public bool IsShowingGrid();

Показывать фоновые линии/точки сетки, true по умолчанию. Не включает и не выключает SnappingEnabled: невидимая сетка может оставаться активной для привязки.

Возвращает bool

Показывать фоновые линии/точки сетки, true по умолчанию. Не включает и не выключает SnappingEnabled: невидимая сетка может оставаться активной для привязки.

IsShowingGridButtonsbool
# IsShowingGridButtons
C#
public bool IsShowingGridButtons();

Показывать элементы настройки сетки/привязки. Скрытие не сбрасывает ShowGrid, SnappingEnabled или SnappingDistance.

Возвращает bool

Показывать элементы настройки сетки/привязки. Скрытие не сбрасывает ShowGrid, SnappingEnabled или SnappingDistance.

IsShowingMenubool
# IsShowingMenu
C#
public bool IsShowingMenu();

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

Возвращает bool

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

IsShowingMinimapButtonbool
# IsShowingMinimapButton
C#
public bool IsShowingMinimapButton();

Показывать кнопку переключения миникарты. Не меняет MinimapEnabled.

Возвращает bool

Показывать кнопку переключения миникарты. Не меняет MinimapEnabled.

IsShowingZoomButtonsbool
# IsShowingZoomButtons
C#
public bool IsShowingZoomButtons();

Показывать кнопки уменьшения, сброса и увеличения zoom. Не запрещает изменение Zoom из кода или колесом.

Возвращает bool

Показывать кнопки уменьшения, сброса и увеличения zoom. Не запрещает изменение Zoom из кода или колесом.

IsShowingZoomLabelbool
# IsShowingZoomLabel
C#
public bool IsShowingZoomLabel();

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

Возвращает bool

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

IsSnappingEnabledbool
# IsSnappingEnabled
C#
public bool IsSnappingEnabled();

Привязка пользовательского перемещения/resize к сетке, true по умолчанию. Не включает ShowGrid и не округляет программный GraphElement.PositionOffset. При штатном взаимодействии Ctrl может временно изменить применение привязки.

Возвращает bool

Привязка пользовательского перемещения/resize к сетке, true по умолчанию. Не включает ShowGrid и не округляет программный GraphElement.PositionOffset. При штатном взаимодействии Ctrl может временно изменить применение привязки.

IsValidConnectionTypebool
# IsValidConnectionType
C#
public bool IsValidConnectionType(int fromType, int toType);

Проверяет только зарегистрированную пару типов, не полную допустимость связи. Для равных типов без AddValidConnectionType может быть false, хотя UI допускает их отдельным правилом.

Параметры
ИмяТипПо умолчанию
fromTypeint—
toTypeint—
fromType

Целочисленный тип выхода.

toType

Целочисленный тип входа.

Возвращает bool

Зарегистрирована ли именно эта направленная пара типов.

RemoveValidConnectionTypevoid
# RemoveValidConnectionType
C#
public void RemoveValidConnectionType(int fromType, int toType);

Удаляет явно разрешённую направленную пару. Не удаляет существующие линии; одинаковые типы могут проходить отдельное правило UI.

Параметры
ИмяТипПо умолчанию
fromTypeint—
toTypeint—
fromType

Целочисленный тип выхода.

toType

Целочисленный тип входа.

RemoveValidLeftDisconnectTypevoid
# RemoveValidLeftDisconnectType
C#
public void RemoveValidLeftDisconnectType(int type);

Убирает разрешение UI-переустановки для типа со стороны выхода. Не удаляет связи и не запрещает DisconnectNode из кода.

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

Целочисленная категория порта для политики UI.

RemoveValidRightDisconnectTypevoid
# RemoveValidRightDisconnectType
C#
public void RemoveValidRightDisconnectType(int type);

Убирает разрешение UI-переустановки для типа со стороны входа. Не удаляет связи и не запрещает DisconnectNode из кода.

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

Целочисленная категория порта для политики UI.

SetArrangeNodesButtonHiddenvoid
# SetArrangeNodesButtonHidden
C#
public void SetArrangeNodesButtonHidden(bool enable);

Старое инвертированное свойство: true означает ShowArrangeButton = false. В новом коде используйте ShowArrangeButton, чтобы избежать двойного отрицания.

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

true скрывает кнопку автоматической раскладки; это инверсия ShowArrangeButton.

SetConnectionActivityvoid
# SetConnectionActivity
C#
public void SetConnectionActivity(StringName fromNode, int fromPort, StringName toNode, int toPort, float amount);

Задаёт степень визуального выделения существующей линии; обычно используйте 0…1. Не создаёт связь, не передаёт данные и не сообщает о выполнении. Отсутствующий кортеж пропускается.

Параметры
ИмяТипПо умолчанию
fromNodeStringName—
fromPortint—
toNodeStringName—
toPortint—
amountfloat—
fromNode

Name исходного GraphNode — отдельный идентификатор, не Title.

fromPort

Плотный индекс выхода исходного элемента, не slotIndex строки.

toNode

Name конечного GraphNode — отдельный идентификатор, не Title.

toPort

Плотный индекс входа конечного элемента, не slotIndex строки.

amount

Степень визуальной активности, обычно 0…1.

SetConnectionLinesAntialiasedvoid
# SetConnectionLinesAntialiased
C#
public void SetConnectionLinesAntialiased(bool pixels);

Запрос сглаживания линий GraphEdit. Не является глобальным MSAA/TAA и не гарантирует сглаживание текста, сетки или сторонних элементов.

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

Включить сглаживание; историческое имя pixels относится к bool.

SetConnectionLinesCurvaturevoid
# SetConnectionLinesCurvature
C#
public void SetConnectionLinesCurvature(float curvature);

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

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

Коэффициент изгиба, обычно неотрицательный.

SetConnectionLinesThicknessvoid
# SetConnectionLinesThickness
C#
public void SetConnectionLinesThickness(float pixels);

Толщина линий в локальных единицах оформления. Допустимо 0 и больше; отрицательное значение отклоняется. Не меняет типы, число соединений или масштаб элементов.

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

Толщина линии, 0 или больше.

SetConnectionsvoid
# SetConnections
C#
public void SetConnections(Reckfell.Collections.Array<Reckfell.Collections.Dictionary> connections);

Снимок списка соединений. Присваивание заменяет весь список и сначала очищает прежний. Каждая Dictionary должна содержать from_node, from_port, to_node, to_port, keep_alive; проверьте её заранее. Это не изменяемая живая коллекция.

Параметры
ИмяТипПо умолчанию
connectionsReckfell.Collections.Array<Reckfell.Collections.Dictionary>—
connections

Проверенный список Dictionary с пятью полями соединения; заменяет весь прежний список.

SetGridPatternvoid
# SetGridPattern
C#
public void SetGridPattern(GraphEdit.GridPatternEnum pattern);

Вид сетки: Lines или Dots, Lines по умолчанию. Меняет фон, не правила соединений и не шаг привязки.

Параметры
ИмяТипПо умолчанию
patternGraphEdit.GridPatternEnum—
pattern

Lines или Dots.

SetMinimapEnabledvoid
# SetMinimapEnabled
C#
public void SetMinimapEnabled(bool enable);

Включает отображение миникарты. Независимо от ShowMinimapButton: скрытая кнопка не означает выключенную миникарту. Не создаёт вторую модель графа.

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

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

SetMinimapOpacityvoid
# SetMinimapOpacity
C#
public void SetMinimapOpacity(float opacity);

Alpha миникарты. Обычно используйте 0…1; setter сохраняет и значения вне этого диапазона без нормализации. Нулевая alpha не равнозначна отключению миникарты/её ввода.

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

Alpha, обычно 0…1; вне диапазона не нормализуется.

SetMinimapSizevoid
# SetMinimapSize
C#
public void SetMinimapSize(Vector2 size);

Размер контрола миникарты в локальных единицах UI, ограниченный его минимумом. Запрос меньше минимума увеличивается; читайте фактический размер getter. Это не масштаб координат графа.

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

Запрошенный размер UI миникарты, ограничиваемый её минимумом.

SetPanningSchemevoid
# SetPanningScheme
C#
public void SetPanningScheme(GraphEdit.PanningSchemeEnum scheme);

Схема колеса: Zooms масштабирует колесом и прокручивает с Ctrl; Pans меняет эти действия местами. Не меняет координаты модели и не отключает программные Zoom/ScrollOffset.

Параметры
ИмяТипПо умолчанию
schemeGraphEdit.PanningSchemeEnum—
scheme

Zooms или Pans для поведения колеса.

SetRightDisconnectsvoid
# SetRightDisconnects
C#
public void SetRightDisconnects(bool enable);

Разрешает UI начать переустановку связи со стороны входного порта, false по умолчанию. Не обозначает правую кнопку мыши и не удаляет запись без обработки запроса приложением.

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

Разрешить UI-переустановку со стороны входа.

SetScrollOffsetvoid
# SetScrollOffset
C#
public void SetScrollOffset(Vector2 offset);

Смещение просмотра в локальных единицах GraphEdit после учёта zoom; Position элемента вычисляется как PositionOffset × Zoom − ScrollOffset. Setter ограничивает значение текущим диапазоном прокрутки и откладывает обновление позиций. Читайте фактическое значение обратно; программное присваивание может вызвать ScrollOffsetChanged.

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

Смещение просмотра после zoom, не PositionOffset элемента. Читайте фактическое ограниченное значение обратно.

SetSelectedvoid
# SetSelected
C#
public void SetSelected(Entity node);

Выделяет указанный прямой GraphElement и снимает выделение остальных. null очищает выделение. Учитывает Selectable; может испустить NodeSelected/NodeDeselected даже при вызове из кода. Не запрашивает фокус вложенного поля.

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

Прямой GraphElement/Entity графа; для SetSelected null снимает выделение. Не передача владения.

SetShowArrangeButtonvoid
# SetShowArrangeButton
C#
public void SetShowArrangeButton(bool hidden);

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

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

Несмотря на историческое имя hidden, true показывает соответствующий UI, false скрывает.

SetShowGridvoid
# SetShowGrid
C#
public void SetShowGrid(bool enable);

Показывать фоновые линии/точки сетки, true по умолчанию. Не включает и не выключает SnappingEnabled: невидимая сетка может оставаться активной для привязки.

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

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

SetShowGridButtonsvoid
# SetShowGridButtons
C#
public void SetShowGridButtons(bool hidden);

Показывать элементы настройки сетки/привязки. Скрытие не сбрасывает ShowGrid, SnappingEnabled или SnappingDistance.

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

Несмотря на историческое имя hidden, true показывает соответствующий UI, false скрывает.

SetShowMenuvoid
# SetShowMenu
C#
public void SetShowMenu(bool hidden);

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

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

Несмотря на историческое имя hidden, true показывает соответствующий UI, false скрывает.

SetShowMinimapButtonvoid
# SetShowMinimapButton
C#
public void SetShowMinimapButton(bool hidden);

Показывать кнопку переключения миникарты. Не меняет MinimapEnabled.

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

Несмотря на историческое имя hidden, true показывает соответствующий UI, false скрывает.

SetShowZoomButtonsvoid
# SetShowZoomButtons
C#
public void SetShowZoomButtons(bool hidden);

Показывать кнопки уменьшения, сброса и увеличения zoom. Не запрещает изменение Zoom из кода или колесом.

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

Несмотря на историческое имя hidden, true показывает соответствующий UI, false скрывает.

SetShowZoomLabelvoid
# SetShowZoomLabel
C#
public void SetShowZoomLabel(bool enable);

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

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

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

SetSnappingDistancevoid
# SetSnappingDistance
C#
public void SetSnappingDistance(int pixels);

Шаг привязки в координатах графа до zoom, 20 по умолчанию. При штатном масштабе сетки используйте 2…100 включительно. Setter не перемещает уже размещённые элементы на сетку автоматически.

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

Шаг привязки до zoom, при штатном масштабе 2…100.

SetSnappingEnabledvoid
# SetSnappingEnabled
C#
public void SetSnappingEnabled(bool enable);

Привязка пользовательского перемещения/resize к сетке, true по умолчанию. Не включает ShowGrid и не округляет программный GraphElement.PositionOffset. При штатном взаимодействии Ctrl может временно изменить применение привязки.

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

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

SetTypeNamesvoid
# SetTypeNames
C#
public void SetTypeNames(Reckfell.Collections.Dictionary typeNames);

Общий Dictionary соответствий целочисленных типов их подписям. Getter/setter не копируют контейнер глубоко. Изменение словаря не регистрирует допустимые пары соединения; используйте AddValidConnectionType отдельно.

Параметры
ИмяТипПо умолчанию
typeNamesReckfell.Collections.Dictionary—
typeNames

Общий Dictionary целочисленный тип → подпись; совместимость связей задаётся отдельно.

SetZoomvoid
# SetZoom
C#
public void SetZoom(float zoom);

Множитель масштаба, 1 по умолчанию. Ограничивается ZoomMin/ZoomMax. При видимом GraphEdit масштабирование сохраняет точку под центром просмотра, поэтому ScrollOffset может измениться. PositionOffset модели не умножайте заранее.

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

Запрошенный множитель; ограничивается текущими ZoomMin/ZoomMax.

SetZoomMaxvoid
# SetZoomMax
C#
public void SetZoomMax(float zoomMax);

Верхняя граница Zoom. Используйте положительное значение не меньше ZoomMin; setter повторно ограничивает текущий Zoom. Это не максимальная координата графа.

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

Положительная верхняя граница не меньше ZoomMin.

SetZoomMinvoid
# SetZoomMin
C#
public void SetZoomMin(float zoomMin);

Нижняя граница Zoom. Используйте положительное значение не больше ZoomMax; setter повторно ограничивает текущий Zoom. При расширении диапазона сначала задайте совместимые границы.

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

Положительная нижняя граница не больше ZoomMax.

SetZoomStepvoid
# SetZoomStep
C#
public void SetZoomStep(float zoomStep);

Множитель одного шага zoom, 1,2 по умолчанию. Используйте конечное значение > 1; отрицательный ввод преобразуется в абсолютный. Изменение шага не пересчитывает уже заданные ZoomMin/ZoomMax.

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

Конечный множитель шага, обычно > 1; отрицательное значение берётся по модулю.

_GetConnectionLineVector2[]
# _GetConnectionLine
C#
public virtual Vector2[] _GetConnectionLine(Vector2 fromPosition, Vector2 toPosition);

Переопределение геометрии линии. Верните минимум две точки без NaN/Infinity в том же пространстве, сохраняя нужные начало/конец. Метод возвращает точки, не вызывает рисование. Замена влияет и на запросы попадания по линиям.

Параметры
ИмяТипПо умолчанию
fromPositionVector2—
toPositionVector2—
fromPosition

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

toPosition

Конец линии в том же пространстве координат.

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

Переопределение геометрии линии. Верните минимум две точки без NaN/Infinity в том же пространстве, сохраняя нужные начало/конец. Метод возвращает точки, не вызывает рисование. Замена влияет и на запросы попадания по линиям.

_IsInInputHotzonebool
# _IsInInputHotzone
C#
public virtual bool _IsInInputHotzone(ReckfellObject inNode, int inPort, Vector2 mousePosition);

Переопределяет попадание по входу. inNode — GraphNode, inPort — плотный индекс входа. mousePosition передаётся как локальная позиция GraphEdit, делённая на Zoom; это не локальная координата GraphNode и не PositionOffset. Верните bool.

Параметры
ИмяТипПо умолчанию
inNodeReckfellObject—
inPortint—
mousePositionVector2—
inNode

Общий GraphNode, переданный как ReckfellObject; не освобождайте в callback.

inPort

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

mousePosition

Локальная позиция GraphEdit / Zoom, не локальная позиция GraphNode.

Возвращает bool

Переопределяет попадание по входу. inNode — GraphNode, inPort — плотный индекс входа. mousePosition передаётся как локальная позиция GraphEdit, делённая на Zoom; это не локальная координата GraphNode и не PositionOffset. Верните bool.

_IsInOutputHotzonebool
# _IsInOutputHotzone
C#
public virtual bool _IsInOutputHotzone(ReckfellObject inNode, int inPort, Vector2 mousePosition);

Переопределяет попадание по выходу с тем же пространством mousePosition: локальная позиция GraphEdit / Zoom. inPort здесь плотный индекс выхода. Штатный код сначала исключает область ручки resize; callback не является глобальной проверкой соединения.

Параметры
ИмяТипПо умолчанию
inNodeReckfellObject—
inPortint—
mousePositionVector2—
inNode

Общий GraphNode, переданный как ReckfellObject; не освобождайте в callback.

inPort

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

mousePosition

Локальная позиция GraphEdit / Zoom, не локальная позиция GraphNode.

Возвращает bool

Переопределяет попадание по выходу с тем же пространством mousePosition: локальная позиция GraphEdit / Zoom. inPort здесь плотный индекс выхода. Штатный код сначала исключает область ручки resize; callback не является глобальной проверкой соединения.

_IsNodeHoverValidbool
# _IsNodeHoverValid
C#
public virtual bool _IsNodeHoverValid(StringName fromNode, int fromPort, StringName toNode, int toPort);

Дополнительная проверка кандидата при интерактивном наведении, после штатных условий UI. Верните false для запрета кандидата. Прямой ConnectNode не заменяет этой проверкой валидацию модели — выполняйте её в общем методе приложения.

Параметры
ИмяТипПо умолчанию
fromNodeStringName—
fromPortint—
toNodeStringName—
toPortint—
fromNode

Name исходного GraphNode; только в GetConnectionLine это позиция Vector2, не имя.

fromPort

Плотный индекс выхода, не slotIndex строки.

toNode

Name конечного GraphNode; только в GetConnectionLine это позиция Vector2, не имя.

toPort

Плотный индекс входа, не slotIndex строки.

Возвращает bool

Дополнительная проверка кандидата при интерактивном наведении, после штатных условий UI. Верните false для запрета кандидата. Прямой ConnectNode не заменяет этой проверкой валидацию модели — выполняйте её в общем методе приложения.

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

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

Начало группы перемещений при drag или ArrangeNodes. Снимите PositionOffset элементов для undo; не предполагает, что каждый setter PositionOffset испускает этот сигнал.

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

Жест соединения завершён, включая отмену. Не гарантирует созданную связь; результат принятия определяет обработчик ConnectionRequest.

ConnectionDragStartedСобытие
# ConnectionDragStarted
C#
public event GraphEdit.ConnectionDragStartedEventHandler ConnectionDragStarted;

Начался жест создания/переустановки линии. isOutput указывает сторону начального порта. Это не сохранённая связь и не успешное выполнение ConnectionRequest.

Параметры обработчика
ИмяТипПо умолчанию
fromNodeStringName—
fromPortlong—
isOutputbool—
fromNode

Name элемента, с порта которого начат жест.

fromPort

Плотный индекс начального порта; его сторона определяется isOutput.

isOutput

Начальный порт является выходом; иначе входом.

ConnectionFromEmptyСобытие
# ConnectionFromEmpty
C#
public event GraphEdit.ConnectionFromEmptyEventHandler ConnectionFromEmpty;

Жест от входа завершён на пустом месте. Конечный порт указан в toNode/toPort; releasePosition локальна для GraphEdit и может быть нулевой при клавиатурном завершении.

Параметры обработчика
ИмяТипПо умолчанию
toNodeStringName—
toPortlong—
releasePositionVector2—
toNode

Name конечного GraphNode — отдельный идентификатор, не Title.

toPort

Плотный индекс входа конечного элемента, не slotIndex строки.

releasePosition

Локальная позиция GraphEdit, не PositionOffset; при клавиатурном завершении может быть нулевой.

ConnectionRequestСобытие
# ConnectionRequest
C#
public event GraphEdit.ConnectionRequestEventHandler ConnectionRequest;

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

Параметры обработчика
ИмяТипПо умолчанию
fromNodeStringName—
fromPortlong—
toNodeStringName—
toPortlong—
fromNode

Name исходного GraphNode — отдельный идентификатор, не Title.

fromPort

Плотный индекс выхода исходного элемента, не slotIndex строки.

toNode

Name конечного GraphNode — отдельный идентификатор, не Title.

toPort

Плотный индекс входа конечного элемента, не slotIndex строки.

ConnectionToEmptyСобытие
# ConnectionToEmpty
C#
public event GraphEdit.ConnectionToEmptyEventHandler ConnectionToEmpty;

Жест от выхода завершён на пустом месте; можно предложить создание элемента. releasePosition относится к локальному UI GraphEdit, при клавиатурном завершении может быть (0,0). Не создаёт элемент автоматически.

Параметры обработчика
ИмяТипПо умолчанию
fromNodeStringName—
fromPortlong—
releasePositionVector2—
fromNode

Name исходного GraphNode — отдельный идентификатор, не Title.

fromPort

Плотный индекс выхода исходного элемента, не slotIndex строки.

releasePosition

Локальная позиция GraphEdit, не PositionOffset; при клавиатурном завершении может быть нулевой.

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

Запрос копирования без аргументов. Соберите выделенные GraphElement из своего графа и сериализуйте модель сами; сигнал не пишет содержимое буфера обмена.

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

Запрос вырезания без аргументов. Сначала скопируйте модель и связи, затем удалите принятые элементы через свою undo-операцию; автоматического удаления нет.

DeleteNodesRequestСобытие
# DeleteNodesRequest
C#
public event GraphEdit.DeleteNodesRequestEventHandler DeleteNodesRequest;

Запрос удаления с массивом Name выделенных GraphElement. Проверьте модель, удалите связанные записи соединений и группировки, затем освободите принятые объекты. Сигнал сам Free не вызывает.

Параметры обработчика
ИмяТипПо умолчанию
nodesReckfell.Collections.Array<StringName>—
nodes

Снимок имён выделенных GraphElement, не объекты для автоматического Free.

DisconnectionRequestСобытие
# DisconnectionRequest
C#
public event GraphEdit.DisconnectionRequestEventHandler DisconnectionRequest;

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

Параметры обработчика
ИмяТипПо умолчанию
fromNodeStringName—
fromPortlong—
toNodeStringName—
toPortlong—
fromNode

Name исходного GraphNode — отдельный идентификатор, не Title.

fromPort

Плотный индекс выхода исходного элемента, не slotIndex строки.

toNode

Name конечного GraphNode — отдельный идентификатор, не Title.

toPort

Плотный индекс входа конечного элемента, не slotIndex строки.

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

Запрос дублирования выделенного. Создайте копии своей модели с новыми ID/Name и переназначьте внутренние связи; сигнал сам объекты не копирует.

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

Завершение группы перемещений, включая ArrangeNodes. Считайте итоговые координаты и создайте одну запись undo; приложение само управляет историей.

FrameRectChangedСобытие
# FrameRectChanged
C#
public event GraphEdit.FrameRectChangedEventHandler FrameRectChanged;

GraphEdit пересчитал прямоугольник рамки. newRect — текущий Control.GetRect в пространстве родителя, не готовая пара PositionOffset/Size модели до zoom. Для сохранения читайте PositionOffset и Size рамки явно.

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

Name прямой GraphFrame; для FrameRectChanged — общий объект рамки, принадлежащий графу.

newRect

Текущий Control.GetRect рамки в пространстве родителя; для модели читайте PositionOffset и Size.

GraphElementsLinkedToFrameRequestСобытие
# GraphElementsLinkedToFrameRequest
C#
public event GraphEdit.GraphElementsLinkedToFrameRequestEventHandler GraphElementsLinkedToFrameRequest;

После переноса пользователь запросил связь элементов с рамкой. elements содержит имена, frame — Name рамки. Проверьте модель, снимите прежние связи и вызовите AttachGraphElementToFrame для принятых элементов; сам request не сохраняет модель.

Параметры обработчика
ИмяТипПо умолчанию
elementsReckfell.Collections.Array—
frameStringName—
elements

Имена элементов, предложенных к привязке к рамке.

frame

Name прямой GraphFrame; для FrameRectChanged — общий объект рамки, принадлежащий графу.

NodeDeselectedСобытие
# NodeDeselected
C#
public event GraphEdit.NodeDeselectedEventHandler NodeDeselected;

Выделение GraphElement снято, включая программные операции. Это не удаление объекта или отмена изменений модели.

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

Прямой GraphElement/Entity графа; для SetSelected null снимает выделение. Не передача владения.

NodeSelectedСобытие
# NodeSelected
C#
public event GraphEdit.NodeSelectedEventHandler NodeSelected;

Прямой GraphElement выделен, в том числе через setter из кода. Аргумент Entity может быть GraphNode или GraphFrame; объект принадлежит дереву, не освобождайте его только из-за уведомления.

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

Прямой GraphElement/Entity графа; для SetSelected null снимает выделение. Не передача владения.

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

Запрос вставки без аргументов. Приложение читает и проверяет данные, создаёт новые уникальные ID/Name, элементы и связи. Сигнал не восстанавливает граф автоматически.

PopupRequestСобытие
# PopupRequest
C#
public event GraphEdit.PopupRequestEventHandler PopupRequest;

Запрос контекстного меню в локальной позиции GraphEdit. Создайте/покажите своё меню; перед переводом позиции в координаты графа учтите ScrollOffset и Zoom. Не экранные координаты ОС.

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

Локальная позиция GraphEdit; преобразуйте отдельно для экрана или координат графа.

ScrollOffsetChangedСобытие
# ScrollOffsetChanged
C#
public event GraphEdit.ScrollOffsetChangedEventHandler ScrollOffsetChanged;

Изменилось смещение просмотра, передаётся фактический offset. Может прийти от отложенного программного присваивания: не считайте исключительно пользовательским событием и не присваивайте тот же ScrollOffset безусловно в обработчике.

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

Смещение просмотра после zoom, не PositionOffset элемента. Читайте фактическое ограниченное значение обратно.

GraphEdit.GridPatternEnum

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

Нарисуйте сетку с помощью точек.

Lines = 0

Нарисуйте сетку сплошными линиями.

GraphEdit.PanningSchemeEnum

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

[kbd]Мышиное колесо[/kbd] перемещает вид, [kbd]Ctrl + Мышиное колесо[/kbd] масштабирует.

Zooms = 0

[kbd]Мышиное колесо[/kbd] будет увеличивать масштаб, [kbd]Ctrl + Мышиное колесо[/kbd] будет перемещать вид.

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

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

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

Color , линия соединения интерполяется на основе значения активности соединения (см. GraphEdit.SetConnectionActivity).

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

Color которая смешивается с линией соединения, когда мышь нависает над ней.

По умолчанию: Color(0, 0, 0, 0.3)
connection_rim_color
Color

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

По умолчанию: Color(0.1, 0.1, 0.1, 0.6)
connection_valid_target_tint_color
Color

Color , которая смешивается с линией соединения, когда в настоящее время вращенное соединение зависает над действительным портом цели.

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

Color основных линий сетки/точков.

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

Color из небольших линий сетки/точков.

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

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

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

Цвет контура прямоугольника выделения.

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

Расширяет линию соединения при наведении курсора мыши на определенный процент. Значение 0 отключает подсветку. Значение 100 удваивает ширину линии.

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

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

По умолчанию: 22
port_hotzone_outer_extent
int

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

По умолчанию: 26
grid_toggle
Texture2D

Значок кнопки переключения сетки.

layout
Texture2D

Значок кнопки макета для автоматического размещения графика.

minimap_toggle
Texture2D

Значок кнопки переключения мини-карты.

snapping_toggle
Texture2D

Значок для кнопки-переключателя привязки.

zoom_in
Texture2D

Значок кнопки увеличения масштаба.

zoom_out
Texture2D

Значок кнопки уменьшения масштаба.

zoom_reset
Texture2D

Значок кнопки сброса масштаба.

menu_panel
StyleBox
panel
StyleBox

Фон, нарисованный под сеткой.

panel_focus
StyleBox

StyleBox используется, когда фокус находится на GraphEdit (при использовании со вспомогательными приложениями).

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

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

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

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