Home

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){
    ...
  }
}