Skip to content

@ue-too/dynamics / index / PairManager

Class: PairManager ​

Defined in: pair-manager.ts:59

Manages collision pairs across frames.

Remarks ​

Tracks which bodies are colliding and for how long, enabling collision lifecycle events (start, update, end). This is useful for game logic like damage on collision start or triggers.

Automatically cleans up old inactive pairs to prevent memory leaks.

Example ​

Using collision events

typescript
const pairManager = world.getPairManager();

world.step(dt);

const events = pairManager.getActivePairs();
events.forEach(pair => {
  if (pair.frameCreated === world.currentFrame) {
    console.log('Collision started!');
  }
});

Constructors ​

Constructor ​

new PairManager(): PairManager

Defined in: pair-manager.ts:64

Returns ​

PairManager

Methods ​

clear() ​

clear(): void

Defined in: pair-manager.ts:164

Returns ​

void


getActivePairs() ​

getActivePairs(): CollisionPair[]

Defined in: pair-manager.ts:153

Returns ​

CollisionPair[]


getPair() ​

getPair(bodyA, bodyB): CollisionPair | undefined

Defined in: pair-manager.ts:158

Parameters ​

bodyA ​

RigidBody

bodyB ​

RigidBody

Returns ​

CollisionPair | undefined


getStats() ​

getStats(): object

Defined in: pair-manager.ts:170

Returns ​

object

activePairs ​

activePairs: number

frameNumber ​

frameNumber: number

totalPairs ​

totalPairs: number


updatePairs() ​

updatePairs(newCollisions): PairEvents

Defined in: pair-manager.ts:80

Parameters ​

newCollisions ​

object[]

Returns ​

PairEvents