ecsproto.unity.physics2d

0
README.md

Proto

LeoECS Proto - интеграция событий Unity Physics2D

Интеграция событий Unity Physics2D для LeoECS Proto.

ВАЖНО! Требует C#9 (или Unity >=2021.2).

ВАЖНО! Зависит от: Leopotam.EcsProto, Leopotam.EcsProto.QoL, Leopotam.EcsProto.Unity.

ВАЖНО! Не забывайте использовать

DEBUG
-версии билдов для разработки и
RELEASE
-версии билдов для релизов: все внутренние проверки/исключения будут работать только в
DEBUG
-версиях и удалены для увеличения производительности в
RELEASE
-версиях.

ВАЖНО! Проверено на Unity 2021.3 (зависит от нее) и содержит asmdef-описания для компиляции в виде отдельных сборок и уменьшения времени рекомпиляции основного проекта.

Социальные ресурсы

Официальный блог: https://leopotam.ru

Установка

В виде unity модуля

Поддерживается установка в виде unity-модуля через git-ссылку в PackageManager или прямое редактирование

Packages/manifest.json
:

"ru.leopotam.ecsproto.unity.physics2d": "https://gitverse.ru/leopotam/ecsproto.unity.physics2d.git",

В виде исходников

Код так же может быть склонирован или получен в виде архива со страницы релизов.

Прочие источники

Официальная работоспособная версия размещена по адресу https://gitverse.ru/leopotam/ecsproto.unity.physics2d, все остальные версии (включая nuget, npm и прочие репозитории) являются неофициальными клонами или сторонним кодом с неизвестным содержимым.

UnityPhysics2D модуль

Модуль выполняет очистку полученных событий с unity-физики и их регистрацию в качестве компонентов, состоит из 2 частей - аспекта и логики.

Подключение аспекта в ручном режиме

Для подключения аспекта physics2d интеграции в ручном режиме достаточно добавить его в главный аспект мира:

Подключение логики в ручном режиме

Модуль physics2d подключается в том месте, в котором будет производиться очистка отработавших событий физики. Для того, чтобы разделить место регистрации и место удаления событий, можно воспользоваться именованной точкой и указать ее в конструкторе:

Подключение модуля целиком в автоматическом режиме

События

Все поддерживаемые типы событий описаны в подключаемом physics2d-аспекте:

По любому из них можно собрать итератор для обработки реакции на действия пользователя:

Действия

Действия (классы

xxxAction
) - это
MonoBehaviour
-компоненты, которые слушают события unity-физики и генерируют соответствующие ECS-события:

  • UnityPhysics2DCollisionEnterAction
  • UnityPhysics2DCollisionExitAction
  • UnityPhysics2DTriggerEnterAction
  • UnityPhysics2DTriggerExitAction

Лицензия

Расширение выпускается под лицензией MIT-ZARYA, подробности тут.