Update README-RU.md

This commit is contained in:
Mikhail 2024-04-09 23:01:29 +08:00 committed by GitHub
parent bac4dd2e68
commit 315a245f91
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -360,8 +360,8 @@ poses.Del(entityID);
> эта функция будет описана в ближайшее время
## Аспект
Это пользовательские классы наследуемые от `EcsAspect`, которые используются для взаимодействия с сущностями. Аспекты одновременно являются кешем пулов и маской для фильтрации сущностей.
Можно расматривать аспекты как описание того какие сущности нужны системе.
Это пользовательские классы наследуемые от `EcsAspect` и используемые для взаимодействия с сущностями. Аспекты одновременно являются кешем пулов и маской компонентов для фильтрации сущностей. Можно рассматривать аспекты как описание того какие сущности запрашивает система.
Упрощенный синтаксис:
``` c#
using DCFApixels.DragonECS;
@ -374,6 +374,10 @@ class Aspect : EcsAspect
public EcsPool<Velocity> velocities = Inc;
// Кешируется пул и FreezedTag добавляется в исключающее ограничение.
public EcsTagPool<FreezedTag> freezedTags = Exc;
// При запросах будет проверяться наличие компонентов
// из включающего ограничения маски и отсутсвие из исключющего.
// Так же есть Opt - только кеширует пул, не влияя на маску.
}
```
@ -395,7 +399,10 @@ class Aspect : EcsAspect
}
```
В аспекты можно добавлять другие аспекты, тем самым комбинируя их. Ограничения так же будут скомбинированы
<details>
<summary>Комбинирование аспектов</summary>
В аспекты можно добавлять другие аспекты, тем самым комбинируя их. Ограничения так же будут скомбинированы.
``` c#
using DCFApixels.DragonECS;
...
@ -424,7 +431,8 @@ class Aspect : EcsAspect
| OtherAspect1 | :heavy_minus_sign: | :heavy_check_mark: | :heavy_minus_sign: | :x: | :heavy_minus_sign: | Для `cmp2` будет выбрано :heavy_check_mark: |
| Aspect | :x: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_check_mark: | Для `cmp1` будет выбрано :x: |
| Итоговые ограничения | :x: | :heavy_check_mark: | :heavy_minus_sign: | :x: | :heavy_check_mark: | |
</details>
## Запросы
Используйте метод-запрос `EcsWorld.Where<TAspcet>(out TAspcet aspect)` для получения необходимого системе набора сущностей. Запросы работают в связке с аспектами, аспекты определяют ограничения запросов, результатом запроса становится группа сущностей удовлетворяющая условиям аспекта. По умолчанию запрос делает выборку из всех сущностей в мире, но так же запросы можно применять и к коллекциям фреймворка(в этом плане это чемто похоже на Where из Linq).