ecsproto.parenting
Описание
Языки
- 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.parenting": "https://gitverse.ru/leopotam/ecsproto.parenting.git",
В виде исходников
Код так же может быть склонирован или получен в виде архива со страницы релизов.
Прочие источники
Официальная работоспособная версия размещена по адресу https://gitverse.ru/leopotam/ecsproto.parenting, все остальные версии (включая nuget, npm и прочие репозитории) являются неофициальными клонами или сторонним кодом с неизвестным содержимым.
Основные типы
Родитель
Это специальный скрытый компонент, добавляющийся на сущность, вся работа с ним скрыта за апи
в аспекте модуля. Реализован в виде типа .
Ребенок
Это специальный скрытый компонент, добавляющийся на сущность, вся работа с ним скрыта за апи
в аспекте модуля. Реализован в виде типа .
Аспект
Все апи по управлению связями находится в аспекте с типом
ВАЖНО! В момент вызова
вParentingAspect.SetParent()-версии происходит проверка на циклическую иерархию с исключением в случае обнаружения.DEBUG
Подключение модуля
Подключение в ручном режиме
Для подключения достаточно добавить аспект модуля в аспект мира:
Так же для автоматического удаления иерархии нужно добавить систему:
Подключение модуля целиком в автоматическом режиме
Лицензия
Расширение выпускается под лицензией MIT-ZARYA, подробности тут.
ЧаВо
Я хочу отключить автоматическое удаление иерархии и вызывать его руками, как я могу это сделать?
Для отключения автоматического удаления иерархии надо передать опциональный флаг в конструктор модуля:
Когда требуется выполнить очистку, следует вызывать следующий метод: