when<T> method

T when<T>({
  1. required T defaultCollision(
    1. BonfireCollisionConfigDefault
    ),
  2. required T quadTreeCollision(
    1. BonfireCollisionConfigQuadTree
    ),
})

Implementation

T when<T>({
  required T Function(BonfireCollisionConfigDefault) defaultCollision,
  required T Function(BonfireCollisionConfigQuadTree) quadTreeCollision,
}) {
  return switch (this) {
    final BonfireCollisionConfigQuadTree c => quadTreeCollision(c),
    final BonfireCollisionConfigDefault c => defaultCollision(c),
    _ => throw UnimplementedError(),
  };
}