mirror of
https://github.com/DCFApixels/DragonECS-AutoInjections.git
synced 2025-09-17 12:24:34 +08:00
Update README-RU.md
This commit is contained in:
parent
cfa7bbe3c2
commit
c701c917b4
28
README-RU.md
28
README-RU.md
@ -24,6 +24,7 @@
|
|||||||
- [Интеграция](#интеграция)
|
- [Интеграция](#интеграция)
|
||||||
- [Инъекция зависимостей](#инъекция-зависимостей)
|
- [Инъекция зависимостей](#инъекция-зависимостей)
|
||||||
- [Auto Builder аспектов](#auto-builder-аспектов)
|
- [Auto Builder аспектов](#auto-builder-аспектов)
|
||||||
|
- [Auto Runner-ы](#auto-runner-ы)
|
||||||
- [Пример кода](#пример-кода)
|
- [Пример кода](#пример-кода)
|
||||||
- [Не null инъекции](#не-null-инъекции)
|
- [Не null инъекции](#не-null-инъекции)
|
||||||
|
|
||||||
@ -84,9 +85,32 @@ EcsDefaultWorld _world;
|
|||||||
* `[IncImplicit(type)]` - добавит в включающее ограничение указанный в конструкторе тип `type`, аналог метода `Include`;
|
* `[IncImplicit(type)]` - добавит в включающее ограничение указанный в конструкторе тип `type`, аналог метода `Include`;
|
||||||
* `[ExcImplicit(type)]` - добавит в исключающее ограничение указанный в конструкторе тип `type`, аналог метода `Exclude`;
|
* `[ExcImplicit(type)]` - добавит в исключающее ограничение указанный в конструкторе тип `type`, аналог метода `Exclude`;
|
||||||
|
|
||||||
|
# Auto Runner-ы
|
||||||
|
Для получения раннеров без добавления, есть атрибут `[BindWithRunner(type)]` и метод `GetRunnerAuto<T>()`.
|
||||||
|
``` c#
|
||||||
|
[BindWithRunner(typeof(DoSomethingProcessRunner))]
|
||||||
|
interface IDoSomethingProcess : IEcsProcess
|
||||||
|
{
|
||||||
|
void Do();
|
||||||
|
}
|
||||||
|
//Реализация раннера. Пример реализации можно так же посмотреть в встроенных процессах
|
||||||
|
sealed class DoSomethingProcessRunner : EcsRunner<IDoSomethingProcess>, IDoSomethingProcess
|
||||||
|
{
|
||||||
|
public void Do()
|
||||||
|
{
|
||||||
|
foreach (var item in Process) item.Do();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//...
|
||||||
|
// Если в пайплайн небыл добавлен раннер, то GetRunnerAuto автоматически добавит экземпляр DoSomethingProcessRunner.
|
||||||
|
_pipeline.GetRunnerAuto<IDoSomethingProcess>().Do();
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
# Пример кода
|
# Пример кода
|
||||||
```csharp
|
```csharp
|
||||||
class VelocitySystemDI : IEcsRunProcess
|
class VelocitySystemDI : IEcsRun
|
||||||
{
|
{
|
||||||
class Aspect : EcsAspectAuto
|
class Aspect : EcsAspectAuto
|
||||||
{
|
{
|
||||||
@ -111,7 +135,7 @@ class VelocitySystemDI : IEcsRunProcess
|
|||||||
<summary>Тот же код но без AutoInjections</summary>
|
<summary>Тот же код но без AutoInjections</summary>
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
class VelocitySystem : IEcsRunProcess, IEcsInject<EcsDefaultWorld>, IEcsInject<TimeService>
|
class VelocitySystem : IEcsRun, IEcsInject<EcsDefaultWorld>, IEcsInject<TimeService>
|
||||||
{
|
{
|
||||||
class Aspect : EcsAspect
|
class Aspect : EcsAspect
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user