Skip to content

Commit 2af54d5

Browse files
committed
added event.timestamp and event.delta to collision events, closes #368
1 parent 9655785 commit 2af54d5

1 file changed

Lines changed: 21 additions & 6 deletions

File tree

src/core/Engine.js

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,13 @@ var Body = require('../body/Body');
149149
Sleeping.afterCollisions(pairs.list);
150150

151151
// trigger collision events
152-
if (pairs.collisionStart.length > 0)
153-
Events.trigger(engine, 'collisionStart', { pairs: pairs.collisionStart });
152+
if (pairs.collisionStart.length > 0) {
153+
Events.trigger(engine, 'collisionStart', {
154+
pairs: pairs.collisionStart,
155+
timestamp: timing.timestamp,
156+
delta: delta
157+
});
158+
}
154159

155160
// iteratively resolve position between collisions
156161
var positionDamping = Common.clamp(20 / engine.positionIterations, 0, 1);
@@ -178,11 +183,21 @@ var Body = require('../body/Body');
178183
Engine._bodiesUpdateVelocities(allBodies);
179184

180185
// trigger collision events
181-
if (pairs.collisionActive.length > 0)
182-
Events.trigger(engine, 'collisionActive', { pairs: pairs.collisionActive });
186+
if (pairs.collisionActive.length > 0) {
187+
Events.trigger(engine, 'collisionActive', {
188+
pairs: pairs.collisionActive,
189+
timestamp: timing.timestamp,
190+
delta: delta
191+
});
192+
}
183193

184-
if (pairs.collisionEnd.length > 0)
185-
Events.trigger(engine, 'collisionEnd', { pairs: pairs.collisionEnd });
194+
if (pairs.collisionEnd.length > 0) {
195+
Events.trigger(engine, 'collisionEnd', {
196+
pairs: pairs.collisionEnd,
197+
timestamp: timing.timestamp,
198+
delta: delta
199+
});
200+
}
186201

187202
// clear force buffers
188203
Engine._bodiesClearForces(allBodies);

0 commit comments

Comments
 (0)