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() } - - //Для реализации дополнительных сообщений используйте Раннеры + //Для реализации дополнительных процессов используйте Раннеры } ```