With3Where<A extends Comp<T>, B extends Comp<T>, C extends Comp<T>> method

Q With3Where<A extends Comp<T>, B extends Comp<T>, C extends Comp<T>>(
  1. bool fn(
    1. E entity,
    2. A a,
    3. B b,
    4. C c,
    )
)

Query-like Keeps only elements that have all three of A, B, and C and for which fn returns true.

Implementation

Q With3Where<
  A extends Comp<T>,
  B extends Comp<T>,
  C extends Comp<T>
>(
  bool Function(E entity, A a, B b, C c) fn
) {
  _groups.last.add((e) {
    final a = e.get<A>(), b = e.get<B>(), c = e.get<C>();
    return a != null && b != null && c != null && fn(e, a, b, c);
  });
  return self;
}