LeoECS - 1 год разработки

Как быстро летит время - LeoECS Entity Component System фреймворк существует уже целый год! Релизы выходили каждый месяц и вот настало время публикации v20181222 - 12-го по счету. Какие же изменения и улучшения произошли в нем?
Изменения
- В фильтры вернулась возможность подписываться на события добавления/удаления сущностей в них.
EcsSystemsполучили возможность именования. Это может быть полезно, когда используются вложенныеEcsSystems- для лучшего понимания, что это за группа систем.OneFrame-компоненты стали корректно работать при использовании сEcsWorld.EnsureComponent. Вообще,[EcsOneFrame]-атрибуты на компонентах сильно упрощают реализацию событий, которые должны существовать ровно 1 фрейм. Все помеченные данным атрибутом компоненты будут автоматически удалены при вызове одного единственного методаEcsWorld.RemoveOneFrameComponents().- Все связанные с
LeoECSмодули получили поддержку работы в качестве unity packages. Да, начиная сUnity2018.3их можно ставить прямо с репозиториев по прямому git-линку и видеть их в списке модулей проекта:
Для этого достаточно открыть в текущем проекте файлPackages/manifest.jsonи в секциюdependenciesвнести ссылки на модули:1
2
3
4
5
6"com.leopotam.ecs": "https://github.com/Leopotam/ecs.git#develop",
"com.leopotam.ecs-reactive": "https://github.com/Leopotam/ecs-reactive.git#develop",
"com.leopotam.ecs-threads": "https://github.com/Leopotam/ecs-threads.git#develop",
"com.leopotam.ecs-types": "https://github.com/Leopotam/ecs-types.git#develop",
"com.leopotam.ecs-ui": "https://github.com/Leopotam/ecs-ui.git#develop",
"com.leopotam.ecs-unityintegration": "https://github.com/Leopotam/ecs-unityintegration.git#develop"
Все модули автоматически скачаются и подключатся к проекту. Для того, чтобы обновить их, нужно будет вручную удалитьВнимание: в системе должен быть установлен Git с корректно прописанными путями для доступа из командной строки!
lock-секцию в файлеPackages/manifest.json. Да, не очень удобно, но разработчики менеджера модулей обещались сделать поддержку обновлений прямо в интерфейсе.