1.4.7399
конец августа — первая серия исправлений
Улучшения C#-скриптинга
Одна из ключевых возможностей EyeAuras — это движок C#-скриптов, который позволяет компилировать, загружать и выполнять ваш код в реальном времени. Он используется в действиях, триггерах и деревьях поведения.
Поскольку в коде для скриптов практически нет ограничений, ошибки встречаются довольно часто: они могут приводить к крашам, дедлокам и другим типичным проблемам программирования. Я уже писал об этом в чейнджлоге 7060.
В этой версии я добавил дополнительный механизм, который будет автоматически расширять и переписывать ваш код, чтобы уменьшить влияние некоторых распространённых ошибок. Например:
- необработанные исключения в
Task - использование
Thread.Sleepвместо методаSleep, встроенного в EyeAuras, который намного точнее и поддерживает отмену - бесконечные циклы вроде
while(true){}вместоwhile(!cancellationToken.IsCancellationRequested){}
Теперь такие случаи, как и многие другие, будут анализироваться ещё до компиляции, а код — автоматически переписываться. Конечно, таким способом можно исправить только часть ошибок. Основная ответственность по-прежнему остаётся на вас как на авторе скрипта: именно вы должны писать рабочий код. Но этот механизм должен немного упростить жизнь.
Посмотрим, как это покажет себя на практике и насколько полезным окажется. В идеале вы вообще не должны замечать, что он работает.
Если заметите что-то странное — обязательно сообщите!
Исправления и улучшения
- [Crash] Исправлен краш на Windows 10 Home (и N), связанный с отсутствием библиотек OpenCL
- [Sublicenses] Сублицензии теперь отображаются в интерфейсе. Пока что вместо имени пака показывается только Id
- [UI] Окно лицензионного соглашения EyeAuras теперь автоматически активируется при запуске. Это не затронет тех, кто уже когда-либо его принял
- [UI] Переработан механизм импорта/экспорта — это должно исправить проблемы с заменой деревьев поведения и ещё несколько связанных моментов
- [BehaviorTrees] Обновлён интерфейс: элементы управления немного перераспределены, изменены стили и т. д. Посмотрим, насколько удобной окажется новая версия
- [BehaviorTrees] Добавлена визуализация ошибок — если в каком-либо узле возникнет ошибка, она теперь будет отображаться в UI так же, как ошибки в аурах
- [Scripting] Выпущена новая версия EyeAuras.SDK