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
. Да, не очень удобно, но разработчики менеджера модулей обещались сделать поддержку обновлений прямо в интерфейсе.
Оформить подписку можно здесь: