EntityX — Получить новый объект добавлен в систему

В Системах Артемиды вы указываете, какие Компоненты требуются Системе, т.е. если в какой-то момент и у Объекта есть хотя бы все необходимые компоненты, считается, что он добавлен в Систему, то есть в следующем кадре Система будет его обрабатывать. Но в Artemis вы также получаете функции обратного вызова, такие как added или же removed это говорит о том, что новый объект добавляется в систему.

В EntityX, с другой стороны, я вижу, что системы не требуют специальных компонентов. Сущности запрашиваются на лету, и в систему не добавляется такая концепция, как сущность. Следовательно, я хочу понять, как я могу сделать следующее. Мне нужно в Системе ABC который обрабатывает все объекты, которые имеют A, B а также C получить какое-то событие, когда была сущность с компонентами Aа также B и я также добавил компонент C, Как распознать и справиться с этой ситуацией.

0

Решение

В EntityX нет такого понятия, как Entity принадлежит системе или системам. В каждой системе вы можете просто получить список сущностей, которые имеют определенные компоненты, используя entities_with_components метод, который каждый раз запрашивает объекты и, следовательно, медленнее, чем если бы для каждой системы существовал текущий список активных объектов.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector