From 063a23efe7ee432f901521312e7d2eb26c3f248a Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sat, 10 Jun 2023 18:12:03 +0800 Subject: [PATCH] Update README-RU.md --- README-RU.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README-RU.md b/README-RU.md index 0ca08e9..18076e4 100644 --- a/README-RU.md +++ b/README-RU.md @@ -249,6 +249,28 @@ WorldComponent component = _world.Get(); Является контейнером для компонентов, предоставляет методы для добавления/чтения/редактирования/удаления компонентов на сущности. Есть несколько видов пулов, для разных целей * `EcsPool` - универсальный пул, хранит struct-компоненты реализующие интерфейс IEcsComponent; * `EcsTagPool` - подходит для хранения пустых компонентов-тегов, в сравнении с EcsPool имеет лучше оптимизацию памяти и действий с пулом, хранит в себе struct-компоненты реализующие IEcsTagComponent; + +Пулы имеют 5 основных метода и их разновидности: +``` csharp +// Один из способов получить пул из мира. +EcsPool poses = _world.GetPool(); + +// Добавит компонент на сущность, бросит исключение если компонент уже есть у сущности. +ref var addedPose = ref poses.Add(entityID); + +// Вернет компонент, бросит исключение если у сущности нет этого компонента. +ref var gettedPose = ref poses.Get(entityID); + +// Вернет компонент доступный только для чтения, бросит исключение если у сущности нет этого компонента. +ref readonly var readonlyPose = ref poses.Read(entityID); + +// Вернет true если у сущности есть компонент, в противном случае false. +if (poses.Has(entityID)) { /* ... */ } + +// Удалит компонент у сущности, бросит исключение если у сущности нет этого компонента. +poses.Del(entityID); +``` +> Есть "безопасные" методы, которые сначала выполнят проверку наличия/отсутствия компонента, названия таких методов начинаются с `Try` Имеется возможность реализации пользовательского пула > эта функция будет описана в ближайшее время