В EntityX EntityManager
есть метод entities_with_components
который возвращает все объекты, которые имеют необходимые компоненты. В примере Излучение событий
Я вижу двойное использование этого метода:
for (Entity left_entity : es.entities_with_components(left_position)) {
for (Entity right_entity : es.entities_with_components(right_position)) {
Эффективна ли она или дважды запрашивает соответствующие объекты?
Я написал Entityx.
Да, это будет повторять объекты N ^ 2 раза. Вы не хотите делать это в реальном коде. Пример, включенный в EntityX, имеет намного лучшая система столкновений, который выполняет очень хорошо. Но опять же, в реальном коде вполне вероятно, что, если вы используете физическую систему, она будет выполнять коллизии за вас, или вы можете использовать выделенную библиотеку коллизий.
сельдь