fuseCollisionEffect<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.
Implementation
void fuseCollisionEffect<C extends PositionComponent>(FuseCollisionEffectFn<C> fn) {
final cleanups = <C, Function()>{};
fuseCollisionStart<C>((target) {
final cleanup = fn(target);
if (cleanup != null) {
cleanups[target] = cleanup;
}
});
fuseCollisionEnd<C>((target) {
cleanups.remove(target)?.call();
});
}