mirror of
https://github.com/DCFApixels/DragonECS.git
synced 2025-09-18 18:14:37 +08:00
Update README-RU.md
This commit is contained in:
parent
d038e2e8be
commit
9571a29862
11
README-RU.md
11
README-RU.md
@ -645,7 +645,7 @@ using (marker.Auto())
|
|||||||
Для большей расширемости фреймворкеа есть дополнительные инструменты.
|
Для большей расширемости фреймворкеа есть дополнительные инструменты.
|
||||||
|
|
||||||
## Конфиги
|
## Конфиги
|
||||||
Конструкторы классов `EcsWorld` и `EcsPipeline` могут принимать контейнеры конфигов реализующие интерфейс `IConfigContainer` или `IConfigContainerWriter`. С помощью этих контейнеров можно передавать данные и зависимости. Встроенная реализация контейнера - `ConfigContainer`</br>
|
Конструкторы классов `EcsWorld` и `EcsPipeline` могут принимать контейнеры конфигов реализующие интерфейс `IConfigContainer` или `IConfigContainerWriter`. С помощью этих контейнеров можно передавать данные и зависимости. Встроенная реализация контейнера - `ConfigContainer`, но можно так же использовать свою реализацию.</br>
|
||||||
Пример использования конфигов для мира:
|
Пример использования конфигов для мира:
|
||||||
``` c#
|
``` c#
|
||||||
var configs = new ConfigContainer()
|
var configs = new ConfigContainer()
|
||||||
@ -653,6 +653,9 @@ var configs = new ConfigContainer()
|
|||||||
.Set(new SomeDataA(/* ... */))
|
.Set(new SomeDataA(/* ... */))
|
||||||
.Set(new SomeDataB(/* ... */)));
|
.Set(new SomeDataB(/* ... */)));
|
||||||
EcsDefaultWorld _world = new EcsDefaultWorld(configs);
|
EcsDefaultWorld _world = new EcsDefaultWorld(configs);
|
||||||
|
//...
|
||||||
|
var _someDataA = _world.Configs.Get<SomeDataA>();
|
||||||
|
var _someDataB = _world.Configs.Get<SomeDataB>();
|
||||||
```
|
```
|
||||||
Пример использования конфигов для пайплайна:
|
Пример использования конфигов для пайплайна:
|
||||||
``` c#
|
``` c#
|
||||||
@ -663,11 +666,13 @@ _pipeline = EcsPipeline.New()// аналогично _pipeline = EcsPipeline.New
|
|||||||
.BuildAndInit();
|
.BuildAndInit();
|
||||||
//...
|
//...
|
||||||
var _someDataA = _pipeline.Configs.Get<SomeDataA>();
|
var _someDataA = _pipeline.Configs.Get<SomeDataA>();
|
||||||
|
var _someDataB = _pipeline.Configs.Get<SomeDataB>();
|
||||||
```
|
```
|
||||||
|
|
||||||
## Компоненты Миры
|
## Компоненты Миры
|
||||||
С помощью компонентов можно прикреплять дополнительные данные к мирам. В качестве компонентов используются `struct` типы.
|
С помощью компонентов можно прикреплять дополнительные данные к мирам. В качестве компонентов используются `struct` типы. Доступ к компонентам через `Get` оптимизирован, скорость почти такая же как доступ к полям класса.
|
||||||
``` c#
|
``` c#
|
||||||
|
// Получить компонент.
|
||||||
ref WorldComponent component = ref _world.Get<WorldComponent>();
|
ref WorldComponent component = ref _world.Get<WorldComponent>();
|
||||||
```
|
```
|
||||||
Реализация компонента:
|
Реализация компонента:
|
||||||
@ -684,7 +689,7 @@ public struct WorldComponent : IEcsWorldComponent<WorldComponent>
|
|||||||
// Данные.
|
// Данные.
|
||||||
void IEcsWorldComponent<WorldComponent>.Init(ref WorldComponent component, EcsWorld world)
|
void IEcsWorldComponent<WorldComponent>.Init(ref WorldComponent component, EcsWorld world)
|
||||||
{
|
{
|
||||||
// Действия при инициализации компонента. Вызывается до первого возвращения из EcsWorld.Get
|
// Действия при инициализации компонента. Вызывается до первого возвращения из EcsWorld.Get .
|
||||||
}
|
}
|
||||||
void IEcsWorldComponent<WorldComponent>.OnDestroy(ref WorldComponent component, EcsWorld world)
|
void IEcsWorldComponent<WorldComponent>.OnDestroy(ref WorldComponent component, EcsWorld world)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user