diff --git a/v3/src/physics/matter-js/World.js b/v3/src/physics/matter-js/World.js index ec28289a2..119fa8ca4 100644 --- a/v3/src/physics/matter-js/World.js +++ b/v3/src/physics/matter-js/World.js @@ -68,6 +68,18 @@ var World = new Class({ { var localEvents = this.events; + MatterEvents.on(this.engine, 'beforeUpdate', function (event) { + + localEvents.dispatch(new PhysicsEvent.BEFORE_UPDATE(event)); + + }); + + MatterEvents.on(this.engine, 'afterUpdate', function (event) { + + localEvents.dispatch(new PhysicsEvent.AFTER_UPDATE(event)); + + }); + MatterEvents.on(this.engine, 'collisionStart', function (event) { localEvents.dispatch(new PhysicsEvent.COLLISION_START(event.pairs)); diff --git a/v3/src/physics/matter-js/events/AfterUpdateEvent.js b/v3/src/physics/matter-js/events/AfterUpdateEvent.js new file mode 100644 index 000000000..e02662ca2 --- /dev/null +++ b/v3/src/physics/matter-js/events/AfterUpdateEvent.js @@ -0,0 +1,19 @@ +var Class = require('../../../utils/Class'); +var Event = require('../../../events/Event'); + +var AfterUpdateEvent = new Class({ + + Extends: Event, + + initialize: + + function AfterUpdateEvent (event) + { + Event.call(this, 'AFTER_UPDATE_EVENT'); + + this.event = event; + } + +}); + +module.exports = AfterUpdateEvent; diff --git a/v3/src/physics/matter-js/events/BeforeUpdateEvent.js b/v3/src/physics/matter-js/events/BeforeUpdateEvent.js new file mode 100644 index 000000000..89732fe2f --- /dev/null +++ b/v3/src/physics/matter-js/events/BeforeUpdateEvent.js @@ -0,0 +1,19 @@ +var Class = require('../../../utils/Class'); +var Event = require('../../../events/Event'); + +var BeforeUpdateEvent = new Class({ + + Extends: Event, + + initialize: + + function BeforeUpdateEvent (event) + { + Event.call(this, 'BEFORE_UPDATE_EVENT'); + + this.event = event; + } + +}); + +module.exports = BeforeUpdateEvent; diff --git a/v3/src/physics/matter-js/events/index.js b/v3/src/physics/matter-js/events/index.js index c62e1122d..28e77978c 100644 --- a/v3/src/physics/matter-js/events/index.js +++ b/v3/src/physics/matter-js/events/index.js @@ -2,6 +2,8 @@ module.exports = { + AFTER_UPDATE: require('./AfterUpdateEvent'), + BEFORE_UPDATE: require('./BeforeUpdateEvent'), COLLISION_ACTIVE: require('./CollisionActiveEvent'), COLLISION_END: require('./CollisionEndEvent'), COLLISION_START: require('./CollisionStartEvent'),