Skip to content

Relicta-Team/ReNodes

Repository files navigation

ReNodes

Node editor sources for ReSDK_A3

Used in ReSDK Arma3 project for visual scripting.

Third party libs

sqflinter - BSD-3-Clause license watchdog - Apache License 2.0 beautifulsoup4 - MIT License NodeGraphQt - MIT License

Информация токенов библиотеки

Информация ниже устарела и не поддерживается в актуальном состоянии

Опции

  • code - инструкции для генерации кода.
  • isVisibleInLib - включена по умолчанию. Выключение опции скроет ноду из табвивера. Нужно для внутренних нод, например для геттеров и сеттеров переменных.
  • runtime_ports - включение этой опции позволит хранить графические данные портов, например цвет в сериализованном виде. Ноды с удаляемыми портами должны иметь этот флаг включенным.

Визуальные опции

Лежат в секции custom. Если имя опции совпадает с input-портом то нода этой опции будет связана с портом.

  • spin
  • fspin

Специфичные опции

Все спец-опции скрыты и обрабатываются бекендом:

  • autoportdata - указывается если нужно поменить ноду как автоматическую (автопортовую). Используется, например для шаблонных нод получения элемента массива.

Специфичные для инпутов и оутпутов

  • accepted_paths - указывает доступные пути для компилятора.
    • Пустой массив - остальные запрещены, только для этого порта
    • Указаны типы - доступ будет для них и целевого
    • Не определено - полный, стандартный доступ. В генераторе библиотеки примет значение ["@any"]
  • typeget - преобразователь типов для нодов с автопортами.

Специальные токены генерации кода

  • @in.NUMBER, @out.NUMBER - реплейсеры для значений или потока выполнения входных и выходных портов
  • RUNTIME - означает, что код будет получен во вермя компиляции графа
  • @initvars - реплейсер для зоны инициализации локальных переменных и начальных данных при входе в событие.
  • @genvar.[IN | OUT].NUMBER - генерирует переменную и отдает её подключенным инпутам.

! Возможно стоит упростить реплейсер @genvar для генерации переменных в отупуты.