withComponent<T extends Component> method

Iterable<WorldEntity> withComponent<T extends Component>()

Every alive entity that has a component of type T. O(K) using the reverse type index in DIRegistry. A snapshot of the bucket is taken up-front so callers can safely insert, remove, or despawn entities mid-iteration.

Implementation

Iterable<WorldEntity> withComponent<T extends Component>() sync* {
  final snapshot = registry.groupsWithTypeK(TypeEntity(T)).toList();
  for (final group in snapshot) {
    if (_isWorldEntity(group)) yield group as WorldEntity;
  }
}