@@ -7,12 +7,15 @@ ecs_pattern 🚀
77
88Делайте игру вместо архитектуры для игры.
99
10+ `Documentation in English <https://github.com/ikvk/ecs_pattern/blob/master/README.rst >`_.
11+
1012.. image :: https://img.shields.io/pypi/dm/ecs_pattern.svg?style=social
1113
1214=============== ==========================================
13- Python version 3.5 +
15+ Python version 3.3 +
1416License Apache-2.0
1517PyPI https://pypi.python.org/pypi/ecs_pattern/
18+ Dependencies dataclasses before 3.7, typing before 3.5
1619=============== ==========================================
1720
1821Введение
@@ -118,6 +121,10 @@ PyPI https://pypi.python.org/pypi/ecs_pattern/
118121
119122 | *entities.delete* - удалить сущности.
120123
124+ | *entities.delete_buffer_add* - сохранить сущности в буфер удаления, чтобы удалить позже.
125+
126+ | *entities.delete_buffer_purge* - удалить все сущности из буфера удаления.
127+
121128 | *entities.init* - инициализировать сущности (дать менеджеру знать о сущностях).
122129
123130 | *entities.get_by_class* - получить все сущности указанных классов.
@@ -128,10 +135,12 @@ PyPI https://pypi.python.org/pypi/ecs_pattern/
128135
129136 entities = EntityManager()
130137 entities.add(Player(' Ivan' , 20 , 1 , 2 ), Player(' Vladimir' , 30 , 3 , 4 ), Ball(0 , 7 ))
131- for player_entity in entities.get_by_class(Player):
132- print (player_entity.name)
133138 for entity_with_pos in self .entities.get_with_component(ComPosition):
134139 print (entity_with_pos.x, entity_with_pos.y)
140+ for player_entity in entities.get_by_class(Player):
141+ print (player_entity.name)
142+ entities.delete_buffer_add(player_entity)
143+ entities.delete_buffer_purge()
135144 entities.delete(* tuple (next (entities.get_by_class(Ball), [])))
136145
137146 **SystemManager **
@@ -160,7 +169,7 @@ PyPI https://pypi.python.org/pypi/ecs_pattern/
160169
161170 Примеры
162171-------
163- * `Игра Pong: pygame + ecs-pattern <https://github.com/ikvk/ecs_pattern/tree/master/examples/pong >`_.
172+ * `Игра Pong: pygame + ecs_pattern <https://github.com/ikvk/ecs_pattern/tree/master/examples/pong >`_.
164173
165174Преимущества
166175------------
@@ -188,13 +197,15 @@ PyPI https://pypi.python.org/pypi/ecs_pattern/
188197* Возведение ECS в абсолют, ООП никто не отменяет
189198* Адаптация существующего кода проекта под ECS "как есть"
190199* Использование рекурсивной или реактивной логики в системах
200+ * Использование EntityManager.delete в циклах get_by_class, get_with_component
191201
192202Хорошие практики
193203----------------
194204* Используйте компоненты - флаги
195205* Минимизируйте места изменения компонента
196206* Используйте сущности-события и системы событий
197207* В больших проектах размещение объектов ECS по типам не удобно (components.py, systems.py ...). Группируйте по обязанностям (movement.py ...)
208+ * Не используйте методы в компонентах и сущностях
198209
199210Релизы
200211------
@@ -203,7 +214,7 @@ PyPI https://pypi.python.org/pypi/ecs_pattern/
203214
204215Помощь проекту
205216--------------
206-
207- Приветствуется :D
208-
209- ⭐
217+ * Нашли ошибку или есть предложение - issue / merge request 🎯
218+ * Нечем помочь этому проекту - помогите другому открытому проекту, который используете ✋
219+ * Некуда деть деньги - потратьте на семью, друзей, близких или окружающих вас людей 💰
220+ * Поставьте проекту ⭐
0 commit comments