Per-pair collision event tracking with enter/stay/exit lifecycle. Wraps the CombatManager or manual collision checks with stateful tracking.
Usage:
const events = new CollisionEventTracker();events.onCollision((event, phase) => { if (phase === 'enter') applyDamage(event);});// Each frame, report active collision pairs:events.beginFrame();events.reportCollision(entityA, entityB);events.endFrame(); // fires enter/stay/exit callbacks Copy
const events = new CollisionEventTracker();events.onCollision((event, phase) => { if (phase === 'enter') applyDamage(event);});// Each frame, report active collision pairs:events.beginFrame();events.reportCollision(entityA, entityB);events.endFrame(); // fires enter/stay/exit callbacks
Check if two entities are currently colliding
Call at the start of each frame before reporting collisions
Clear all tracking
Call at the end of each frame to fire enter/stay/exit callbacks
Get all currently active collision pairs
Report a collision between two entities this frame
Per-pair collision event tracking with enter/stay/exit lifecycle. Wraps the CombatManager or manual collision checks with stateful tracking.
Usage: