1.4.7095

Конец июня — ссылки на скрипты

Улучшения скриптинга

Добавлены ссылки между аурами

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

Это позволяет один раз написать вспомогательные функции и затем использовать их везде, где они нужны. Для крупных проектов это должно почти свести copy-paste к нулю.

Изменение работает как для Auras, так и для Behavior Trees: если добавить ссылку на Aura из Behavior Tree, общий код станет доступен всем узлам этого дерева.

Чтобы связать ауры между собой, просто добавьте Reference, как показано на изображении ниже.

Code references

Чем это может быть полезно?

Например, в вашей Aura-"библиотеке" можно хранить набор классов для пользовательской конфигурации или логику, которая особым образом эмулирует ввод пользователя. Либо там можно разместить код для рисования на экране через OnScreenDisplay.

Исправления и улучшения

  • [Crash] Исправлен редкий вылет в TimerTrigger во время запуска
  • [Crash] Подавлен вылет, который происходил, если overlay уже был освобожден #EA-441 v7008 by n1katio
  • [BehaviorTrees] Переработан UI — стало больше места, Blackboard вынесен на отдельную вкладку
  • [BehaviorTrees] Добавлена возможность масштабировать весь элемент управления — это позволяет при необходимости уменьшить занимаемое боковыми панелями пространство
  • [BehaviorTrees] Улучшено Copy/Paste — теперь программа старается размещать вставленные узлы прямо в позиции курсора
  • [BehaviorTrees] Узлы Wait и Cooldown теперь позволяют настраивать случайные интервалы времени
  • [UI] Для новых пользователей система контроля версий конфигурации теперь включена по умолчанию
  • [Scripting] IBehaviorTreeAccessor теперь предоставляет метод Tick, который позволяет вручную управлять тиками дерева
  • [Scripting] IBehaviorTreeAccessor теперь позволяет удаленно получать доступ к Blackboard
  • [Scripting] Улучшена визуализация пользовательских исключений
  • [Scripting] ScriptVariable больше не стирает ранее сохраненные значения при несовпадении типов