Update README.md

This commit is contained in:
Mikhail 2023-05-28 22:26:32 +08:00 committed by GitHub
parent 7f5ad2c66b
commit a14f5b95d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -40,19 +40,21 @@ _pipeline = EcsPipeline.New()
```
# Инъекция зависимостей
Аттрибут `[EcsInject]` убирает необходимость использования интерфейса `IEcsInject<T>`, поля помеченные таким атрибутом автоматически подхватят зависимости внедренные в Pipeline.
Аттрибут `[EcsInject]` убирает необходимость использования интерфейса `IEcsInject<T>`, поля помеченные таким атрибутом автоматически подхватят зависимости внедренные в Pipeline. Пример:
```csharp
[EcsInject] EcsDefaultWorld _world;
```
# Фабрика субъектов
Так же AutoInjections упрощает построение субъектов. Для начала наследуйте субъект не от `EcsSubject`, а от `EcsSubjectDI`, а далее добавтье специальные атрибуты.
# Фабрикаа субъектов
Так же AutoInjections упрощает построение субъектов. Для работы наследйте субъекты не от `EcsSubject`, а от `EcsSubjectDI`.
Есть специальные атрибуты для инициализации полей с пулами:
Атрибуты для инициализации полей с пулами:
* `[Inc]` - закеширует пул и добавит тип компонента в включающее ограничение субъекта, аналог метода `Include`;
* `[Exc]` - закеширует пул и добавит тип компонента в исключающее ограничение субъекта, аналог метода `Exclude`;
* `[Opt]` - только кеширует пул, аналог метода `Optional`;
Дополнительные аттрибуты только для задания ограничений субъекта. Их можно применить к самому субъекту, либо к любому полю внутри. Используйте аттрибуты:
* `[IncImplicit(type)]` - добавит в включающее ограничение тип указанный в конструкторе `type`, аналог метода `Include`;
* `[ExcImplicit(type)]` - добавит в исключающее ограничение тип указанный в конструкторе `type`, аналог метода `Exclude`;
* `[IncImplicit(type)]` - добавит в включающее ограничение указанный в конструкторе тип `type`, аналог метода `Include`;
* `[ExcImplicit(type)]` - добавит в исключающее ограничение указанный в конструкторе тип `type`, аналог метода `Exclude`;
# Пример кода
```csharp