Update README.md

This commit is contained in:
Mikhail 2023-04-24 17:27:44 +08:00 committed by GitHub
parent a1b6df9450
commit 20471bbf63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -45,14 +45,15 @@ class UserSystem : IEcsPreInitSystem, IEcsInitSystem, IEcsRunSystem, IEcsDestroy
```
## Pipeline
Является двжиком систем, определяя поочередность их вызова и предоставляющий механизм для сообщений между системами.
Является двжиком систем, определяя поочередность их вызова, предоставляющий механизм для сообщений между системами и механизм внедрения зависимостей системы.
## Раннеры/Сообщения
Раннеры это система сообщений для систем. Может использоваться для создания реактивного поведения или для управления очередью вызовов систем. Сообщения это просто интерфейсы наследуемые от IEcsSystem, чтобы интерфейс работал как сообщение нужно реализоват соотсветующий раннер.
Сообщения реализованные по умолчанию:
`IEcsPreInitSystem`, `IEcsInitSystem`, `IEcsRunSystem`, `IEcsDestroySystem` - сообщения жизненого цикла Pipeline
`IEcsPreInject`, `IEcsInject<T>` - сообщения системы внедрения зависимостей для Pipeline. Через них прокидываются зависимости
`IEcsPreInitInjectCallbacks` - Так же сообщение системы внедрения зависимостей, но работает в пределах до сообщения IEcsInitSystem, сигнализирует о инициализации предварительных внедрений и окончании.
* `IEcsPreInitSystem`, `IEcsInitSystem`, `IEcsRunSystem`, `IEcsDestroySystem` - сообщения жизненого цикла Pipeline
* `IEcsPreInject`, `IEcsInject<T>` - сообщения системы внедрения зависимостей для Pipeline. Через них прокидываются зависимости
* `IEcsPreInitInjectCallbacks` - Так же сообщение системы внедрения зависимостей, но работает в пределах до сообщения IEcsInitSystem, сигнализирует о инициализации предварительных внедрений и окончании.
## Реализация Раннеров и сообщений
Новые сообщения реализуются через интефейсы наследованные от IEcsSystem, например, стандартное IEcsRunSystem.Run(EcsSession session) запускается у всех систем при помощи Runner-а. Runner-а можно получить вызыввав EcsSession.GetRunner<TInterface>().