firstWhere method
Implementation
(Entity, A, B)? firstWhere(Query2UntilCallback<A, B> predicate) {
final driver = Query.chooseDriver(_driverCandidates);
final driverIsA = identical(driver, _a);
final driverIsB = identical(driver, _b);
_world.beginQuery(this);
try {
for (var i = 0; i < driver.length; i++) {
final entityIndex = driver.entityIndexAt(i);
final aDense = driverIsA ? i : _a.denseIndexOf(entityIndex);
if (aDense < 0) continue;
final bDense = driverIsB ? i : _b.denseIndexOf(entityIndex);
if (bDense < 0) continue;
if (!Query.passesFilters(entityIndex, _withStores, _withoutStores)) {
continue;
}
final entity = _world.entities.resolve(entityIndex);
final a = _a.valueAt(aDense);
final b = _b.valueAt(bDense);
if (predicate(entity, a, b)) return (entity, a, b);
}
return null;
} finally {
_world.endQuery();
}
}