From ac9d53491148756a2bd3c3a5582d877229847136 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Wed, 17 May 2023 14:48:27 +0800 Subject: [PATCH] Update README.md --- README.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3496462..c378567 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,12 @@ # Основные концепции ## Сущьность -Сущьности - это идентификаторы, к которым крепятся данные. Есть2 вида идентификатора: +Сущьности - это идентификаторы, к которым крепятся данные. Есть 2 типа идентификатора: * `int` - однократный идентификатор, применяется в пределах одного тика. Не рекомендуется хранить `int` идентификаторы, в место этого используйте `entlong`; * `entlong` - долговременный идентификатор, содержит в себе полный набор информации для однозначной идентификации; ## Компонент -Компоненты - это даные для сущностей. Могут быть тольно struct и обязаны реализовывать интерфейс IEcsComponent или другой указываюший разновидность кмпонента. +Компоненты - это даные для сущностей. Могут быть тольно struct и обязаны реализовывать интерфейс IEcsComponent или другой указываюший вид компонента. ```c# struct Health : IEcsComponent { @@ -22,6 +22,12 @@ struct Health : IEcsComponent public int armor; } ``` +### Виды компонентов +* `IEcsComponent` - Компоненты с данными; +* `IEcsTagComponent` - Компоненты-теги. Без данных; +* `IEcsNotNullComponent` - Не нулевые компоненты. Содержатся на всех сущностях, не могут быть добавленыили удалены; +* `IEcsSingleComponent` - Компоненты-одиночки. Имеют только один экземпляр который можнжет быть добавлен или удален с сущности; + ## Система Системы - это основная логика, тут задается поведение сущьностей. Существуют в виде пользовательских классов, реализующих как минимум один из IEcsInitProcess, IEcsDestroyProcess, IEcsRunProcess интерфейсов. ```c# @@ -39,8 +45,7 @@ class UserSystem : IEcsPreInitProcess, IEcsInitProcess, IEcsRunProcess, IEcsDest public void Destroy (EcsSession session) { // Будет вызван один раз в момент работы EcsSession.Destroy() } - - //Для реализации дополнительных сообщений используйте Раннеры + //Для реализации дополнительных процессов используйте Раннеры } ```