ecsproto.conditionalsystems
Описание
Языки
- C#100%
Группировка систем в блоки с условным выполнением
Поддержка группировки систем в исполняемые по условию блоки для LeoECS Proto.
ВАЖНО! Требует C#9 (или Unity >=2021.2).
ВАЖНО! Зависит от: Leopotam.EcsProto, Leopotam.EcsProto.QoL.
ВАЖНО! Не забывайте использовать
-версии билдов для разработки иDEBUG-версии билдов для релизов: все внутренние проверки/исключения будут работать только вRELEASE-версиях и удалены для увеличения производительности вDEBUG-версиях.RELEASE
ВАЖНО! Проверено на Unity 2021.3 (не зависит от нее) и содержит asmdef-описания для компиляции в виде отдельных сборок и уменьшения времени рекомпиляции основного проекта.
Социальные ресурсы
Официальный блог: https://leopotam.ru
Установка
В виде unity модуля
Поддерживается установка в виде unity-модуля через git-ссылку в PackageManager или прямое редактирование :
"ru.leopotam.ecsproto.conditionalsystems": "https://gitverse.ru/leopotam/ecsproto.conditionalsystems.git",
В виде исходников
Код так же может быть склонирован или получен в виде архива со страницы релизов.
Прочие источники
Официальная работоспособная версия размещена по адресу https://gitverse.ru/leopotam/ecsproto.conditionalsystems, все остальные версии (включая nuget, npm и прочие репозитории) являются неофициальными клонами или сторонним кодом с неизвестным содержимым.
Основные типы
Solver
Пользовательский класс, определяющий, будет исполняться группа систем или нет. Класс должен реализовать интерфейс :
ВАЖНО! Поддерживается инъекция аспектов, сервисов и итераторов в поля экземпляра через пометку атрибутом
. Для разрешения инъекции надо явно указать флаг при инициализации[DI], подключение модуляConditionalSystemне влияет на этот процесс.AutoInjectModule
ConditionalSystem
Система, представляющая собой контейнер по типу и позволяющая выполнять или пропускать выполнение -систем, которые были в нее вложены:
Лицензия
Расширение выпускается под лицензией MIT-ZARYA, подробности тут.