Перейти к содержанию

NodeBuilder

Fluent-сборщик модульного элемента-узла из заголовка, портов, редакторов, виджетов и пользовательских модулей.

Обзор

Используйте NodeBuilder, если узлу нужна повторно используемая модульная раскладка. Порядок вызовов сборщика задаёт порядок модулей сверху вниз. Добавляйте потоковые и data-порты, задавайте редакторы значений по умолчанию для входов и завершайте сборку вызовом build() перед добавлением элемента в NodeGraph.

Создание модульного узла

NodeGraphItem node = NodeBuilder.node("spawn")
        .header("Create NPC")
        .flowRow("in", "out")
        .input("name", "Name", "string", nameEditor)
        .output("entity", "Entity", "entity")
        .build();

API

NodeBuilder::node(String)

Создаёт сборщик модульного узла с указанным ID элемента.

Параметр Тип Описание
id String Уникальный ID нового элемента-узла.

Возвращает NodeBuilder: Новый сборщик для указанного ID узла..

NodeBuilder::at(float, float)

Задаёт начальную позицию узла в world-координатах графа.

Параметр Тип Описание
x float Начальная горизонтальная позиция в world-координатах графа.
y float Начальная вертикальная позиция в world-координатах графа.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::type(String)

Задаёт ID зарегистрированного типа узла для восстановления и палитры.

Параметр Тип Описание
typeId String ID зарегистрированного типа, определяющего вид узла.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::style(NodeStyle)

Назначает узлу визуальный стиль.

Параметр Тип Описание
style NodeStyle Визуальный стиль, назначаемый узлу.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::color(int)

Задаёт цвет заголовка узла в формате ARGB.

Параметр Тип Описание
argb int Цвет заголовка в формате 0xAARRGGBB.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::header(String)

Добавляет заголовок узла.

Параметр Тип Описание
title String Текст заголовка узла.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::header(String, Consumer)

Добавляет заголовок и до вставки настраивает иконку или сворачивание.

Параметр Тип Описание
title String Текст заголовка узла.
configure Consumer Необязательный callback настройки заголовка перед добавлением.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::flowRow(String, String)

Добавляет строку потока выполнения с необязательными ID входного и выходного портов.

Параметр Тип Описание
inPortId String ID входного порта или null, чтобы не создавать его.
outPortId String ID выходного порта или null, чтобы не создавать его.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::input(String, String, String)

Добавляет строку data-входа без inline-редактора значения по умолчанию.

Параметр Тип Описание
portId String Уникальный ID порта в пределах узла.
label String Отображаемая подпись строки порта.
type String ID типа данных порта для совместимости и отображения.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::input(String, String, String, Widget)

Добавляет строку data-входа с виджетом, отображаемым пока вход не подключён.

Параметр Тип Описание
portId String Уникальный ID порта в пределах узла.
label String Отображаемая подпись строки порта.
type String ID типа данных порта для совместимости и отображения.
editor Widget Необязательный inline-виджет, показываемый пока вход не подключён.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::input(String, String, String, ValueEditor)

Добавляет строку data-входа с типизированным редактором значения по умолчанию.

Параметр Тип Описание
portId String Уникальный ID порта в пределах узла.
label String Отображаемая подпись строки порта.
type String ID типа данных порта для совместимости и отображения.
editor ValueEditor Типизированный редактор значения входа по умолчанию.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::requiredInput(String, String, String)

Добавляет обязательный data-вход без значения по умолчанию.

Параметр Тип Описание
portId String Уникальный ID порта в пределах узла.
label String Отображаемая подпись строки порта.
type String ID типа данных порта для совместимости и отображения.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::output(String, String, String)

Добавляет строку data-выхода.

Параметр Тип Описание
portId String Уникальный ID порта в пределах узла.
label String Отображаемая подпись строки порта.
type String ID типа данных порта для совместимости и отображения.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::row(String, String, String, String, String, String)

Добавляет вход и выход в одной строке.

Параметр Тип Описание
inPortId String ID входного порта или null, чтобы не создавать его.
inLabel String Отображаемая подпись входного порта.
inType String ID типа данных порта для совместимости и отображения.
outPortId String ID выходного порта или null, чтобы не создавать его.
outLabel String Отображаемая подпись выходного порта.
outType String ID типа данных порта для совместимости и отображения.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::widget(String, Widget)

Добавляет модульную строку на всю ширину с виджетом.

Параметр Тип Описание
id String ID, уникальный среди модулей узла.
widget Widget Виджет, встраиваемый в строку модуля.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::separator()

Добавляет визуальный разделитель секций узла.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::module(NodeModule)

Добавляет пользовательский модуль узла.

Параметр Тип Описание
module NodeModule Пользовательский модуль для добавления в узел.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::collapsed(boolean)

Задаёт начальное состояние сворачивания узла.

Параметр Тип Описание
collapsed boolean Должен ли узел начинать в свёрнутом состоянии.

Возвращает NodeBuilder: Текущий сборщик для цепочки вызовов..

NodeBuilder::build()

Возвращает собранный элемент-узел.

Возвращает NodeGraphItem: Собранный NodeGraphItem..