|
1 | 1 | var Class = require('../../utils/Class'); |
2 | 2 | var Components = require('../components'); |
3 | 3 | var GameObject = require('../GameObject'); |
| 4 | +var GravityWell = require('./GravityWell'); |
4 | 5 | var List = require('../../structs/List'); |
5 | 6 | var ParticleEmitter = require('./ParticleEmitter'); |
6 | 7 | var Render = require('./ParticleManagerRender'); |
@@ -42,6 +43,8 @@ var ParticleEmitterManager = new Class({ |
42 | 43 |
|
43 | 44 | this.emitters = new List(this); |
44 | 45 |
|
| 46 | + this.wells = new List(this); |
| 47 | + |
45 | 48 | if (emitters !== undefined) |
46 | 49 | { |
47 | 50 | // An array of emitter configs? |
@@ -118,6 +121,16 @@ var ParticleEmitterManager = new Class({ |
118 | 121 | return this.addEmitter(new ParticleEmitter(this, config)); |
119 | 122 | }, |
120 | 123 |
|
| 124 | + addGravityWell: function (well) |
| 125 | + { |
| 126 | + return this.wells.add(well); |
| 127 | + }, |
| 128 | + |
| 129 | + createGravityWell: function (config) |
| 130 | + { |
| 131 | + return this.addGravityWell(new GravityWell(config)); |
| 132 | + }, |
| 133 | + |
121 | 134 | emit: function (count, x, y) |
122 | 135 | { |
123 | 136 | var emitters = this.emitters.list; |
@@ -154,6 +167,11 @@ var ParticleEmitterManager = new Class({ |
154 | 167 | return this; |
155 | 168 | }, |
156 | 169 |
|
| 170 | + getProcessors: function () |
| 171 | + { |
| 172 | + return this.wells.getAll('active', true); |
| 173 | + }, |
| 174 | + |
157 | 175 | preUpdate: function (time, delta) |
158 | 176 | { |
159 | 177 | // Scale the delta |
|
0 commit comments