query method
Queries entities that satisfy all the provided conditions.
final results = query([
withComponent<Name>,
withComponent<Position>,
withComponent<Velocity>,
])
Implementation
Set<WorldEntity> query(List<Iterable<WorldEntity> Function()> queries) {
Set<WorldEntity>? result;
for (final query in queries) {
final t1 = query().toSet();
result ??= t1;
if (result != t1) {
result = result.intersection(t1);
}
}
return result ?? {};
}