mirror of
https://github.com/DCFApixels/DragonECS.git
synced 2025-09-18 01:44:35 +08:00
Update README-RU.md
This commit is contained in:
parent
f9aaa9290a
commit
894b8a24b7
35
README-RU.md
35
README-RU.md
@ -12,6 +12,10 @@
|
||||
Данный [ECS](https://en.wikipedia.org/wiki/Entity_component_system) Фреймворк нацелен на максимальную удобность использования, модульность, расширяемость и производительность динамического изменения сущностей.
|
||||
> **NOTICE:** Проект в стадии разработки. API может меняться.
|
||||
|
||||
## Languages
|
||||
* [Русский](https://github.com/DCFApixels/DragonECS/blob/main/README-RU.md)
|
||||
* [English(WIP)](https://github.com/DCFApixels/DragonECS)
|
||||
|
||||
## Оглавление
|
||||
* [Установка](#Установка)
|
||||
* [Unity-модуль](#Unity-модуль)
|
||||
@ -27,6 +31,8 @@
|
||||
* [Группа](#Группа)
|
||||
* [Субъект](#Субъект)
|
||||
* [Запрос](#Запрос)
|
||||
* [Модули](#Модули)
|
||||
* [Рекомендации](#Рекомендации)
|
||||
* [Debug](#Debug)
|
||||
* [Атрибуты](#Атрибуты)
|
||||
* [EcsDebugUtility](#EcsDebugUtility)
|
||||
@ -130,12 +136,40 @@ public sealed class EcsRunRunner : EcsRunner<IEcsRunProcess>, IEcsRunProcess
|
||||
## Запросы
|
||||
Используйте метод-запрос `EcsWorld.Where<TSubject>(out TSubject subject)` для получения необходимого системе набора сущностей. Запросы работают в связке с субъектами, субъекты определяют ограничения запросов, результатом запроса становится группа сущностей удовлетворяющия условиям субъекта. По умолчанию запрос делает выборку из всех сущностей в мире, но так же можно сделать выборку из определенной группы сущностей, для этого используйте `EcsWorld.WhereFor<TSubject>(EcsReadonlyGroup sourceGroup, out TSubject subject)`
|
||||
|
||||
## Модули
|
||||
Группы систем реализующие общую фичу можно объединять в модули, и просто добавлять модули в Pipeline.
|
||||
```csharp
|
||||
using DCFApixels.DragonECS;
|
||||
class Module : IEcsModule
|
||||
{
|
||||
public void Import(EcsPipeline.Builder b)
|
||||
{
|
||||
b.Add(new System1());
|
||||
b.Add(new System2(), EcsConsts.END_LAYER);
|
||||
b.Add(new System3());
|
||||
}
|
||||
}
|
||||
```
|
||||
```csharp
|
||||
_pipeline = EcsPipeline.New()
|
||||
...
|
||||
.AddModule(new Module())
|
||||
...
|
||||
.BuildAndInit();
|
||||
```
|
||||
|
||||
# Рекомендации
|
||||
## Рекомендации по реаоизации систем
|
||||
Системы делать максимально независимыми, без ссылок на другие системы.
|
||||
|
||||
# Debug
|
||||
Фреймворк предоставляет дополнительные интрументы для отладки и логирования, не зависящие от среды.
|
||||
## Атрибуты
|
||||
В чистом виде атрибуты не имеют применения, но испольщуются в интеграциях с движками для задания отображения в отладочных интурментах и редакторах.
|
||||
``` csharp
|
||||
// Задает пользовательское название типа, по умолчанию используется имя типа.
|
||||
using DCFApixels.DragonECS;
|
||||
...
|
||||
[DebugName("SomeComponent")]
|
||||
// Задает цвет типа в системе rgb, где каждый канал принимает занчение от 0 до 255, по умолчанию белый.
|
||||
// ВЫбрать цвет можно как вручную задав rgb значения, так и использовать заранее заготовленные цвета в enum DebugColor.
|
||||
@ -150,7 +184,6 @@ public struct Component { }
|
||||
Имеет набор методов для упрощения получения данных из Debug-Aтрибутов.
|
||||
## EcsDebug
|
||||
Имеет набор методов для отладки и логирования. Реализован как статический класс вызывающий методы Debug-сервисов. Debug-сервисы являются посредниками между системами отладки среды и EcsDebug. Это позволяет не изменяя отладочный код проекта, переносить его на другие движки, достаточно только реализовать специальный Debug-сервис.
|
||||
|
||||
По умолчанию используется `DefaultDebugService` который выводит логи в консоль. Для реализации пользовательского создайте класс наследуемый от `DebugService` и реализайте абстрактные члены класса.
|
||||
# Расширения
|
||||
* [Автоматическое внедрение зависимостей](https://github.com/DCFApixels/DragonECS-AutoInjections)
|
||||
|
Loading…
Reference in New Issue
Block a user