From 315a245f911937aa7bbbd7e67f7f7a16f6312d58 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Tue, 9 Apr 2024 23:01:29 +0800 Subject: [PATCH] Update README-RU.md --- README-RU.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/README-RU.md b/README-RU.md index a337ad2..8c363df 100644 --- a/README-RU.md +++ b/README-RU.md @@ -360,8 +360,8 @@ poses.Del(entityID); > эта функция будет описана в ближайшее время ## Аспект -Это пользовательские классы наследуемые от `EcsAspect`, которые используются для взаимодействия с сущностями. Аспекты одновременно являются кешем пулов и маской для фильтрации сущностей. -Можно расматривать аспекты как описание того какие сущности нужны системе. +Это пользовательские классы наследуемые от `EcsAspect` и используемые для взаимодействия с сущностями. Аспекты одновременно являются кешем пулов и маской компонентов для фильтрации сущностей. Можно рассматривать аспекты как описание того какие сущности запрашивает система. + Упрощенный синтаксис: ``` c# using DCFApixels.DragonECS; @@ -374,6 +374,10 @@ class Aspect : EcsAspect public EcsPool velocities = Inc; // Кешируется пул и FreezedTag добавляется в исключающее ограничение. public EcsTagPool freezedTags = Exc; + + // При запросах будет проверяться наличие компонентов + // из включающего ограничения маски и отсутсвие из исключющего. + // Так же есть Opt - только кеширует пул, не влияя на маску. } ``` @@ -395,7 +399,10 @@ class Aspect : EcsAspect } ``` -В аспекты можно добавлять другие аспекты, тем самым комбинируя их. Ограничения так же будут скомбинированы +
+Комбинирование аспектов + +В аспекты можно добавлять другие аспекты, тем самым комбинируя их. Ограничения так же будут скомбинированы. ``` 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: | | - + +
## Запросы Используйте метод-запрос `EcsWorld.Where(out TAspcet aspect)` для получения необходимого системе набора сущностей. Запросы работают в связке с аспектами, аспекты определяют ограничения запросов, результатом запроса становится группа сущностей удовлетворяющая условиям аспекта. По умолчанию запрос делает выборку из всех сущностей в мире, но так же запросы можно применять и к коллекциям фреймворка(в этом плане это чемто похоже на Where из Linq).