|
14 | 14 | install: function(base) { |
15 | 15 | base.Body.create = Common.chain( |
16 | 16 | Matter.Body.create, |
17 | | - MatterAttractors.init |
| 17 | + function() { |
| 18 | + MatterAttractors.Body.init(this); |
| 19 | + } |
18 | 20 | ); |
19 | 21 |
|
20 | 22 | base.Engine.update = Common.chain( |
21 | 23 | Matter.Engine.update, |
22 | | - MatterAttractors.update |
| 24 | + function() { |
| 25 | + MatterAttractors.Engine.update(this); |
| 26 | + } |
23 | 27 | ); |
24 | 28 | }, |
25 | 29 |
|
26 | | - init: function(body) { |
27 | | - body = this || body; |
28 | | - body.attractors = body.attractors || []; |
| 30 | + Body: { |
| 31 | + init: function(body) { |
| 32 | + body.attractors = body.attractors || []; |
| 33 | + } |
29 | 34 | }, |
30 | 35 |
|
31 | | - update: function(engine) { |
32 | | - engine = this || engine; |
33 | | - |
34 | | - var world = engine.world, |
35 | | - bodies = Composite.allBodies(world); |
36 | | - |
37 | | - for (var i = 0; i < bodies.length; i += 1) { |
38 | | - var bodyA = bodies[i], |
39 | | - attractors = bodyA.attractors; |
40 | | - |
41 | | - if (attractors && attractors.length > 0) { |
42 | | - for (var j = i + 1; j < bodies.length; j += 1) { |
43 | | - var bodyB = bodies[j]; |
44 | | - |
45 | | - for (var k = 0; k < attractors.length; k += 1) { |
46 | | - var attractor = attractors[k], |
47 | | - forceVector = attractor; |
48 | | - |
49 | | - if (Common.isFunction(attractor)) { |
50 | | - forceVector = attractor(bodyA, bodyB); |
51 | | - } |
52 | | - |
53 | | - if (forceVector) { |
54 | | - Body.applyForce(bodyB, bodyB.position, forceVector); |
| 36 | + Engine: { |
| 37 | + update: function(engine) { |
| 38 | + var world = engine.world, |
| 39 | + bodies = Composite.allBodies(world); |
| 40 | + |
| 41 | + for (var i = 0; i < bodies.length; i += 1) { |
| 42 | + var bodyA = bodies[i], |
| 43 | + attractors = bodyA.attractors; |
| 44 | + |
| 45 | + if (attractors && attractors.length > 0) { |
| 46 | + for (var j = i + 1; j < bodies.length; j += 1) { |
| 47 | + var bodyB = bodies[j]; |
| 48 | + |
| 49 | + for (var k = 0; k < attractors.length; k += 1) { |
| 50 | + var attractor = attractors[k], |
| 51 | + forceVector = attractor; |
| 52 | + |
| 53 | + if (Common.isFunction(attractor)) { |
| 54 | + forceVector = attractor(bodyA, bodyB); |
| 55 | + } |
| 56 | + |
| 57 | + if (forceVector) { |
| 58 | + Body.applyForce(bodyB, bodyB.position, forceVector); |
| 59 | + } |
55 | 60 | } |
56 | 61 | } |
57 | 62 | } |
|
0 commit comments