Skip to content

AndreyBirchenko/LeoEcsLiteEntityConverter

Repository files navigation

LeoEcsLite Entity Converter

Read this in other languages: Русский, English

Обеспечивает автоматическое создание сущностей с компонентами через инспектор.

Проверено на Unity 2020.3 и содержит asmdef-описания для компиляции в виде отдельных сборок и уменьшения времени рекомпиляции основного проекта.

Для обратной связи https://t.me/AndreyBirchenko

Установка

Внимание! Для работы этого расширения сначала установите LeoEcsLite

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

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

"com.anbi.leoecslite.entityconverter": "https://github.com/AndreyBirchenko/LeoEcsLiteEntityConverter.git",

Интеграция

var systems = new EcsSystems (new EcsWorld ());
systems
    .Add (new System1 ())
    .AddWorld (new EcsWorld (), "events")
    // ...
    .ConvertScene()
    .Init ();

Использование

Чтобы добавить компонент на гейм объект сначала создайте класс конвертер и унаследуйте его от ComponentConverter<T>

ВАЖНО: У компонента должен быть атрибут [Serializable] если вы хотите чтобы его поля отображались в инспекторе.

    [Serializable]
    public struct TestComponent
    {
        public int Value;
    }
    
    public class TestComponentConverter : ComponentConverter<TestComponent> 
    {
    }

После этого вы сможете добавить компонент на гейм объект через кнопку AddComponent

alt text

Вместе с вашим конвертером автоматически добавится ещё и ComponentsContainer он нужен для конвертации.

Если вы хотите чтобы после конвертации все ненужные компоненты удалились с гейм объекта поставьте галочку DestroyAfterConversion

Теперь когда вы запустите проект будет автоматически создана сущность с компонентом TestComponent и значением Value из инспектора

alt text

Конвертация по ходу исполнения программы

Вы можете конвертировать объекты при создании

    var objectView = EcsConverter.InstantiateAndCreateEntity(ObjectPrefab, _ecsWorld);

Для этого на префабе который вы собираетесь конвертировать должен быть ComponentsContainer

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages