From 2a8a511bf2e15d87b72616917da153532885c0a2 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Mon, 29 May 2023 03:06:47 +0800 Subject: [PATCH] Update README.md --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0a8b8ea..8ef8544 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ * [Концепции фреймворка](#Концепции-фреймворка) * [Pipeline](#Pipeline) * [Процесс](#Процесс) + * [World](#World) * [Группа](#Группа) * [Субъект](#Субъект) * [Запрос](#Запрос) @@ -42,7 +43,7 @@ https://github.com/DCFApixels/DragonECS.git * `entlong` - долговременный идентификатор, содержит в себе полный набор информации для однозначной идентификации; ## Component -Компоненты - это данные для сущностей. Обязаны реализовывать интерфейс IEcsComponent или другой указываюший вид компонента. +Компоненты - это данные для сущностей. Обязаны реализовывать интерфейс IEcsComponent или другой указываюший вид компонента. ```c# struct Health : IEcsComponent { @@ -50,7 +51,7 @@ struct Health : IEcsComponent public int armor; } ``` -### Виды компонентов +### Встроенные виды компонентов * `IEcsComponent` - Компоненты с данными. * `IEcsTagComponent` - Компоненты-теги. Без данных. @@ -76,13 +77,13 @@ class UserSystem : IEcsPreInitProcess, IEcsInitProcess, IEcsRunProcess, IEcsDest ``` # Концепции фреймворка ## Pipeline -Является контейнером и двжиком систем, определяя поочередность их вызова, предоставляющий механизм для сообщений между системами и механизм внедрения зависимостей в системы. +Класс EcsPipeline является контейнером и двжиком систем, определяя поочередность их вызова, предоставляющий механизм для сообщений между системами и механизм внедрения зависимостей в системы. -## Процесс -Процессы - это очереди систем реализующие общий интерфейс. Раннеры запускюат выполнение процессов. Система раннеров и процессов может использоваться для создания реактивного поведения или для управления очередью вызова систем. Встроенные процессы вызываются автоматически, для ручного запуска испольщуйте раннеры получаемые из EcsPipeline.GetRunner(). +## Process +Процессы - это очереди систем реализующие общий интерфейс, например IEcsRunProcess. Для запуска процессов используются Runner-ы. Система ранеров и процессов может использоваться для создания реактивного поведения или для управления очередью вызова систем. Встроенные процессы вызываются автоматически, для ручного запуска испольщуйте раннеры получаемые из EcsPipeline.GetRunner(). > Метод GetRunner относительно медленный, поэтому рекомендуется кешировать полученные раннеры. -Встроенные процессы: +### Встроенные процессы: * `IEcsPreInitProcess`, `IEcsInitProcess`, `IEcsRunProcess`, `IEcsDestroyProcess` - процессы жизненого цикла Pipeline * `IEcsPreInject`, `IEcsInject` - процессы системы внедрения зависимостей для Pipeline. Через них прокидываются зависимости * `IEcsPreInitInjectProcess` - Так же процесс системы внедрения зависимостей, но работает в пределах до выполнения IEcsInitProcess, сигнализирует о инициализации предварительных внедрений и окончании. @@ -105,6 +106,9 @@ public sealed class EcsRunRunner : EcsRunner, IEcsRunProcess > * Наследуемый класс `EcsRunner,` в качестве `TInterface` должен принимать реализованный интерфейс; > * Раннер не может быть размещен внутри другого класса. +## World +Является контейнером для сущностей и компонентов. + ## Группа Группы это структуры данных для хранения списка сущностей и с быстрыми операциями добавления/удаления/проверки наличия и т.д. Реализованы классом EcsGroup и структурой EcsReadonlyGroup.