Skip to content

@ue-too/dynamics / 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