Awesome
UniLeo - Интеграция в редактор Unity для LeoECS Lite
Интеграция в редактор Unity для конвертации Unity в ECS
Интеграция вдохновлена UniLeo-Lite от Voody
Содержание
Социальные ресурсы
Discord Группа по LeoEcsLite
Telegram Группа по Ecs
Установка
ВАЖНО! Зависит от LeoECS Lite - фреймворк должен быть установлен до этого расширения.
В виде unity модуля
Поддерживается установка в виде unity-модуля через git-ссылку в PackageManager или прямое редактирование Packages/manifest.json
:
"com.mitfart.leoecslite.unileo": "https://github.com/Mitfart/LeoECSLite.UniLeo.git",
В виде исходников
Код так же может быть склонирован или получен в виде архива со страницы релизов.
Интеграция
В коде
Подключение системы
_systems = new EcsSystems(world);
_systems
...
.Add(new ConvertSceneSys())
.Init();
ВАЖНО Обратите внимание что система подключается САМОЙ последней
Объявление компенента
Для отображения компонента в редакторе, необходимо создать Провайдер
(Провайдер - MonoBehaviour, наследующий IConvertToEntity)
Самы простой способ это:
public sealed class CompProvider : EcsProvider<Comp>{ }
[Serializable] // <-- Обязательный аттрибут, для отображения в инспекторе
public struct Comp {
public string value;
}
Также можно создавать свои "Провайдеры":
// -- 1 СПОСОБ -- //
// Override стандартный
public sealed class CompProvider_V1 : EcsProvider<Comp>{
public override void Convert(int e, EcsWorld world){
component = new Comp();
base.Convert(e, world);
}
}
// -- 2 СПОСОБ -- //
// Унаследовать BaseEcsProvider или IConvertToEntity
public sealed class CompProvider_V2 : BaseEcsProvider {
public override void Convert(int e, EcsWorld world){
...
}
}