fuseCollisionEffectPoints<C extends PositionComponent> function
Calls fn when this component collides with another component of type C.
The fn may optionally return a cleanup function that is called when the collision ends.
This version also returns the points at which the collision occurred.
Implementation
void fuseCollisionEffectPoints<C extends PositionComponent>(FuseCollisionEffectPointsFn<C> fn) {
final cleanups = <C, Function()>{};
fuseCollisionStartPoints<C>((target, points) {
final cleanup = fn(target, points);
if (cleanup != null) {
cleanups[target] = cleanup;
}
});
fuseCollisionEnd<C>((target) {
cleanups.remove(target)?.call();
});
}