diff --git a/README.md b/README.md index 2a3f657..b1388d9 100644 --- a/README.md +++ b/README.md @@ -3,31 +3,31 @@

# [DragonECS](https://github.com/DCFApixels/DragonECS) - Auto Injections Extension -Расширение призвано сократить объем кода, упростив инбъекцию зависимостей, делая их автоматическими. +Расширение призвано сократить объем кода, упростив инъекцию зависимостей, делая их автоматически. # Оглавление * [Установка](#Установка) * [Зависимости](#Зависимости) * [Unity-модуль](#Unity-модуль) - * [В виде иходников](#В-виде-иходников) + * [В виде исходников](#В-виде-иходников) * [Инъекция зависимостей](#Инъекция-зависимостей) -* [Фабрикаа субъектов](#Фабрикаа-субъектов) +* [Auto Builder субъектов](#Auto-Builder-субъектов) * [Пример кода](#Пример-кода) * [Не null инъекции](#Не-null-инъекции) # Установка ### Зависимости -Убдитесь что в проекте установлен фреймворк [DragonECS](https://github.com/DCFApixels/DragonECS). +Убедитесь что в проекте установлен фреймворк [DragonECS](https://github.com/DCFApixels/DragonECS). * ### Unity-модуль Поддерживается установка в виде Unity-модуля в при помощи добавления git-URL [в PackageManager](https://docs.unity3d.com/2023.2/Documentation/Manual/upm-ui-giturl.html) или ручного добавления в `Packages/manifest.json`: ``` https://github.com/DCFApixels/DragonECS-AutoInjections.git ``` -* ### В виде иходников +* ### В виде исходников Фреймворк так же может быть добавлен в проект в виде исходников. # Интеграция -Добавте вызов метода `AutoInject()` для фабрики Pipeline. Пример: +Добавьте вызов метода `AutoInject()` для фабрики Pipeline. Пример: ```csharp _pipeline = EcsPipeline.New() .Inject(world) @@ -40,19 +40,19 @@ _pipeline = EcsPipeline.New() ``` # Инъекция зависимостей -Аттрибут `[EcsInject]` убирает необходимость использования интерфейса `IEcsInject`, поля помеченные таким атрибутом автоматически подхватят зависимости внедренные в Pipeline. Пример: +Атрибут `[EcsInject]` убирает необходимость использования интерфейса `IEcsInject`, поля помеченные таким атрибутом автоматически подхватят зависимости внедренные в Pipeline. Пример: ```csharp [EcsInject] EcsDefaultWorld _world; ``` -# Фабрика субъектов -Так же AutoInjections упрощает построение субъектов. Для начала наследуйте субъект не от `EcsSubject`, а от `EcsSubjectDI`, а далее добавтье специальные атрибуты. +# Auto Builder субъектов +Так же AutoInjections упрощает построение субъектов. Для начала наследуйте субъект не от `EcsSubject`, а от `EcsSubjectDI`, а далее добавьте специальные атрибуты. Атрибуты для инициализации полей с пулами: -* `[Inc]` - закеширует пул и добавит тип компонента в включающее ограничение субъекта, аналог метода `Include`; -* `[Exc]` - закеширует пул и добавит тип компонента в исключающее ограничение субъекта, аналог метода `Exclude`; +* `[Inc]` - кеширует пул и добавит тип компонента в включающее ограничение субъекта, аналог метода `Include`; +* `[Exc]` - кеширует пул и добавит тип компонента в исключающее ограничение субъекта, аналог метода `Exclude`; * `[Opt]` - только кеширует пул, аналог метода `Optional`; -Дополнительные аттрибуты только для задания ограничений субъекта. Их можно применить к самому субъекту, либо к любому полю внутри. Используйте аттрибуты: +Дополнительные атрибуты только для задания ограничений субъекта. Их можно применить к самому субъекту, либо к любому полю внутри. Используйте атрибуты: * `[IncImplicit(type)]` - добавит в включающее ограничение указанный в конструкторе тип `type`, аналог метода `Include`; * `[ExcImplicit(type)]` - добавит в исключающее ограничение указанный в конструкторе тип `type`, аналог метода `Exclude`; @@ -123,4 +123,4 @@ class VelocitySystem : IEcsRunProcess, IEcsInject, IEcsInject Для корректной работы переданный тип должен иметь конструктор без парамтров и быть либо того же типа что и поле, либо производного типа. -Расширение так же сообщит если по заврешению предварительной инъекции, остались непроинициализированные поля с `[EcsInject]`. +Расширение так же сообщит если по завершению предварительной инъекции, остались не проинициализированные поля с `[EcsInject]`.