mirror of
https://github.com/DCFApixels/DragonECS.git
synced 2025-09-18 09:54:35 +08:00
Update README-RU.md
This commit is contained in:
parent
3ab89c7a4b
commit
600dc47d33
29
README-RU.md
29
README-RU.md
@ -131,10 +131,10 @@ struct PlayerTag : IEcsTagComponent {}
|
|||||||
```c#
|
```c#
|
||||||
class SomeSystem : IEcsPreInit, IEcsInit, IEcsRun, IEcsDestroy
|
class SomeSystem : IEcsPreInit, IEcsInit, IEcsRun, IEcsDestroy
|
||||||
{
|
{
|
||||||
// Будет вызван один раз в момент работы EcsPipeline.Init() и до срабатывания IEcsInitProcess.Init()
|
// Будет вызван один раз в момент работы EcsPipeline.Init() и до срабатывания IEcsInit.Init()
|
||||||
public void PreInit () { }
|
public void PreInit () { }
|
||||||
|
|
||||||
// Будет вызван один раз в момент работы EcsPipeline.Init() и после срабатывания IEcsPreInitProcess.PreInit()
|
// Будет вызван один раз в момент работы EcsPipeline.Init() и после срабатывания IEcsPreInit.PreInit()
|
||||||
public void Init () { }
|
public void Init () { }
|
||||||
|
|
||||||
// Будет вызван один раз в момент работы EcsPipeline.Run().
|
// Будет вызван один раз в момент работы EcsPipeline.Run().
|
||||||
@ -187,11 +187,16 @@ EcsPipelone pipeline = EcsPipeline.New()
|
|||||||
|
|
||||||
//...
|
//...
|
||||||
// Для внедрения используется интерфейс IEcsInject<T> и его метод Inject(T obj)
|
// Для внедрения используется интерфейс IEcsInject<T> и его метод Inject(T obj)
|
||||||
class SomeSystem : IEcsInject<SomeDataA>, IEcsRunProcess
|
class SomeSystem : IEcsInject<SomeDataA>, IEcsRun
|
||||||
{
|
{
|
||||||
SomeDataA _someDataA
|
SomeDataA _someDataA
|
||||||
//obj будет экземпляром типа SomeDataB
|
//obj будет экземпляром типа SomeDataB
|
||||||
public void Inject(SomeDataA obj) => _someDataA = obj;
|
public void Inject(SomeDataA obj) => _someDataA = obj;
|
||||||
|
|
||||||
|
public void Run ()
|
||||||
|
{
|
||||||
|
_someDataA.DoSomething();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
### Модули
|
### Модули
|
||||||
@ -480,18 +485,18 @@ public class EcsRoot : MonoBehaviour
|
|||||||
|
|
||||||
// Завершение построения пайплайна.
|
// Завершение построения пайплайна.
|
||||||
.Build();
|
.Build();
|
||||||
//Иницивлизация пайплайна и запуск IEcsPreInitProcess.PreInit
|
//Иницивлизация пайплайна и запуск IEcsPreInit.PreInit
|
||||||
//и IEcsInitProcess.Init у всех добавленных систем
|
//и IEcsInit.Init у всех добавленных систем
|
||||||
_pipeline.Init();
|
_pipeline.Init();
|
||||||
}
|
}
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
//Запуск IEcsRunProcess.Run у всех добавленных систем
|
//Запуск IEcsRun.Run у всех добавленных систем
|
||||||
_pipeline.Run();
|
_pipeline.Run();
|
||||||
}
|
}
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
{
|
{
|
||||||
//Запускает IEcsDestroyInitProcess.Destroy у всех добавленных систем
|
//Запускает IEcsDestroyInit.Destroy у всех добавленных систем
|
||||||
_pipeline.Destroy();
|
_pipeline.Destroy();
|
||||||
_pipeline = null;
|
_pipeline = null;
|
||||||
//Обязательно удалять миры которые больше не будут использованы
|
//Обязательно удалять миры которые больше не будут использованы
|
||||||
@ -526,22 +531,22 @@ public class EcsRoot
|
|||||||
|
|
||||||
// Завершение построения пайплайна.
|
// Завершение построения пайплайна.
|
||||||
.Build();
|
.Build();
|
||||||
// Иницивлизация пайплайна и запуск IEcsPreInitProcess.PreInit
|
// Иницивлизация пайплайна и запуск IEcsPreInit.PreInit
|
||||||
// и IEcsInitProcess.Init у всех добавленных систем.
|
// и IEcsInit.Init у всех добавленных систем.
|
||||||
_pipeline.Init();
|
_pipeline.Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update-цикл движка.
|
// Update-цикл движка.
|
||||||
public void Update()
|
public void Update()
|
||||||
{
|
{
|
||||||
// Запуск IEcsRunProcess.Run у всех добавленных систем.
|
// Запуск IEcsRun.Run у всех добавленных систем.
|
||||||
_pipeline.Run();
|
_pipeline.Run();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Очистка окружения.
|
// Очистка окружения.
|
||||||
public void Destroy()
|
public void Destroy()
|
||||||
{
|
{
|
||||||
// Запускает IEcsDestroyInitProcess.Destroy у всех добавленных систем.
|
// Запускает IEcsDestroyInit.Destroy у всех добавленных систем.
|
||||||
_pipeline.Destroy();
|
_pipeline.Destroy();
|
||||||
_pipeline = null;
|
_pipeline = null;
|
||||||
// Обязательно удалять миры которые больше не будут использованы.
|
// Обязательно удалять миры которые больше не будут использованы.
|
||||||
@ -747,7 +752,7 @@ The type or namespace name 'ReadOnlySpan<>' could not be found (are you missing
|
|||||||
Напряму - никак. </br>
|
Напряму - никак. </br>
|
||||||
Обычно потребность выключить/включить систему появляется когда поменялось общее состояние игры, это может так же значить что нужно переключить сразу группу систем, все это в совокупности можно рассматривать как измннеия процессов. Есть 2 решения:</br>
|
Обычно потребность выключить/включить систему появляется когда поменялось общее состояние игры, это может так же значить что нужно переключить сразу группу систем, все это в совокупности можно рассматривать как измннеия процессов. Есть 2 решения:</br>
|
||||||
+ Если измненеия процесса глобальные, то создать новый `EcsPipeline` и в цикле обновления движка запускать соотвествующий пайплайн.
|
+ Если измненеия процесса глобальные, то создать новый `EcsPipeline` и в цикле обновления движка запускать соотвествующий пайплайн.
|
||||||
+ Разделить `IEcsRunProcess` на несколько процессов и в цикле обновления движка запускать соотвествующий процесс. Для этого создайте новый интерфейс процесса, раннер для запуска этого интерфейса и получайте раннер через `EcsPipeline.GetRunner<T>()`.
|
+ Разделить `IEcsRun` на несколько процессов и в цикле обновления движка запускать соотвествующий процесс. Для этого создайте новый интерфейс процесса, раннер для запуска этого интерфейса и получайте раннер через `EcsPipeline.GetRunner<T>()`.
|
||||||
</br>
|
</br>
|
||||||
|
|
||||||
# Обратная связь
|
# Обратная связь
|
||||||
|
Loading…
Reference in New Issue
Block a user