Update README.md

This commit is contained in:
Mikhail 2023-05-17 14:48:27 +08:00 committed by GitHub
parent ff98ae93c4
commit ac9d534911
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -9,12 +9,12 @@
# Основные концепции # Основные концепции
## Сущьность ## Сущьность
Сущьности - это идентификаторы, к которым крепятся данные. Есть2 вида идентификатора: Сущьности - это идентификаторы, к которым крепятся данные. Есть 2 типа идентификатора:
* `int` - однократный идентификатор, применяется в пределах одного тика. Не рекомендуется хранить `int` идентификаторы, в место этого используйте `entlong`; * `int` - однократный идентификатор, применяется в пределах одного тика. Не рекомендуется хранить `int` идентификаторы, в место этого используйте `entlong`;
* `entlong` - долговременный идентификатор, содержит в себе полный набор информации для однозначной идентификации; * `entlong` - долговременный идентификатор, содержит в себе полный набор информации для однозначной идентификации;
## Компонент ## Компонент
Компоненты - это даные для сущностей. Могут быть тольно struct и обязаны реализовывать интерфейс IEcsComponent или другой указываюший разновидность кмпонента. Компоненты - это даные для сущностей. Могут быть тольно struct и обязаны реализовывать интерфейс IEcsComponent или другой указываюший вид компонента.
```c# ```c#
struct Health : IEcsComponent struct Health : IEcsComponent
{ {
@ -22,6 +22,12 @@ struct Health : IEcsComponent
public int armor; public int armor;
} }
``` ```
### Виды компонентов
* `IEcsComponent` - Компоненты с данными;
* `IEcsTagComponent` - Компоненты-теги. Без данных;
* `IEcsNotNullComponent` - Не нулевые компоненты. Содержатся на всех сущностях, не могут быть добавленыили удалены;
* `IEcsSingleComponent` - Компоненты-одиночки. Имеют только один экземпляр который можнжет быть добавлен или удален с сущности;
## Система ## Система
Системы - это основная логика, тут задается поведение сущьностей. Существуют в виде пользовательских классов, реализующих как минимум один из IEcsInitProcess, IEcsDestroyProcess, IEcsRunProcess интерфейсов. Системы - это основная логика, тут задается поведение сущьностей. Существуют в виде пользовательских классов, реализующих как минимум один из IEcsInitProcess, IEcsDestroyProcess, IEcsRunProcess интерфейсов.
```c# ```c#
@ -39,8 +45,7 @@ class UserSystem : IEcsPreInitProcess, IEcsInitProcess, IEcsRunProcess, IEcsDest
public void Destroy (EcsSession session) { public void Destroy (EcsSession session) {
// Будет вызван один раз в момент работы EcsSession.Destroy() // Будет вызван один раз в момент работы EcsSession.Destroy()
} }
//Для реализации дополнительных процессов используйте Раннеры
//Для реализации дополнительных сообщений используйте Раннеры
} }
``` ```