particle-flux 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,13 +2,11 @@ import { IParticle, ParticleConfig, Point2d, ViewContainer, ViewParticle, ViewRe
2
2
  export type UpdateFunction<V> = (lifeTimeNormalizedProgress: number, elapsedDelta: number) => V;
3
3
  export declare class Particle implements IParticle {
4
4
  private readonly viewContainer;
5
- private readonly viewRenderFn;
6
- private readonly config;
7
- view: ViewParticle;
5
+ view: ViewParticle | null;
8
6
  speed: number;
9
7
  direction: Point2d;
10
- shouldDestroy: boolean;
11
8
  next: IParticle | null;
9
+ private inUse;
12
10
  private lifeTimeBehavior;
13
11
  private speedBehavior?;
14
12
  private alphaBehavior?;
@@ -19,8 +17,10 @@ export declare class Particle implements IParticle {
19
17
  private pathFunc?;
20
18
  private deltaPath;
21
19
  private initialPosition;
22
- constructor(viewContainer: ViewContainer<ViewParticle>, viewRenderFn: ViewRenderFn | ViewRenderFn[], config: ParticleConfig);
20
+ constructor(viewContainer: ViewContainer<ViewParticle>);
21
+ use(viewRenderFn: ViewRenderFn | ViewRenderFn[], config: ParticleConfig): void;
23
22
  update(elapsedDelta: number, deltaMS: number): void;
24
- destroy(): void;
23
+ noUse(): void;
24
+ isInUse(): boolean;
25
25
  }
26
26
  //# sourceMappingURL=Particle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Particle.d.ts","sourceRoot":"","sources":["../../src/core/Particle.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAyBvG,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC,CAAC;AAKhG,qBAAa,QAAS,YAAW,SAAS;IAwBtC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAxBlB,IAAI,EAAE,YAAY,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,OAAO,CAAC;IAEnB,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAE9B,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,aAAa,CAAC,CAAyB;IAC/C,OAAO,CAAC,aAAa,CAAC,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAAC,CAAyB;IAClD,OAAO,CAAC,aAAa,CAAC,CAA0B;IAChD,OAAO,CAAC,aAAa,CAAC,CAAyB;IAC/C,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,CAAe;IAEhC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,eAAe,CAAU;gBAGd,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,EAC1C,YAAY,EAAE,YAAY,GAAG,YAAY,EAAE,EAC3C,MAAM,EAAE,cAAc;IA4GlC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAsDnD,OAAO,IAAI,IAAI;CAGvB"}
1
+ {"version":3,"file":"Particle.d.ts","sourceRoot":"","sources":["../../src/core/Particle.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAyBvG,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,0BAA0B,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC,CAAC;AAKhG,qBAAa,QAAS,YAAW,SAAS;IAuB5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IArBnC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAE1B,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAE9B,OAAO,CAAC,KAAK,CAAU;IAEvB,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,aAAa,CAAC,CAAyB;IAC/C,OAAO,CAAC,aAAa,CAAC,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAAC,CAAyB;IAClD,OAAO,CAAC,aAAa,CAAC,CAA0B;IAChD,OAAO,CAAC,aAAa,CAAC,CAAyB;IAC/C,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,CAAe;IAEhC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,eAAe,CAAU;gBAEJ,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC;IAahE,GAAG,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAqG9E,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAwDnD,KAAK,IAAI,IAAI;IAQb,OAAO,IAAI,OAAO;CAG1B"}
@@ -21,17 +21,21 @@ const parsePath_1 = require("../utils/parsePath");
21
21
  const getSpawnPosition_1 = require("./spawn-shapes/getSpawnPosition");
22
22
  const constants_1 = require("../constants");
23
23
  class Particle {
24
- constructor(viewContainer, viewRenderFn, config) {
24
+ constructor(viewContainer) {
25
25
  this.viewContainer = viewContainer;
26
- this.viewRenderFn = viewRenderFn;
27
- this.config = config;
28
26
  this.speed = 0;
29
- this.shouldDestroy = false;
27
+ this.deltaPath = { x: 0, y: 0 };
28
+ this.initialPosition = { x: 0, y: 0 };
29
+ this.direction = { x: 0, y: 0 };
30
30
  this.next = null;
31
- this.view = createView(this.viewRenderFn);
32
- viewContainer.addChild(this.view);
31
+ this.inUse = false;
32
+ this.view = null;
33
+ }
34
+ use(viewRenderFn, config) {
35
+ this.inUse = true;
36
+ this.view = createView(viewRenderFn);
37
+ this.viewContainer.addChild(this.view);
33
38
  this.lifeTimeBehavior = (0, LifeTimeBehavior_1.getLifeTimeBehavior)(config.lifeTime || constants_1.DEFAULT_LIFE_TIME_CONFIG);
34
- this.deltaPath = { x: 0, y: 0 };
35
39
  this.initialPosition = config.spawnShape
36
40
  ? (0, getSpawnPosition_1.getSpawnPosition)(config.spawnShape, config.spawnPosition)
37
41
  : config.spawnPosition || { x: 0, y: 0 };
@@ -114,19 +118,21 @@ class Particle {
114
118
  if (config.gravity) {
115
119
  this.gravityBehavior = (0, ScalarBehavior_1.getScalarBehavior)(config.gravity);
116
120
  }
117
- if (this.config.path) {
118
- this.pathFunc = (0, parsePath_1.parsePath)(this.config.path.path);
121
+ if (config.path) {
122
+ this.pathFunc = (0, parsePath_1.parsePath)(config.path.path);
119
123
  }
120
124
  this.update(0, 0);
121
125
  }
122
126
  update(elapsedDelta, deltaMS) {
127
+ if (!this.inUse || this.view === null)
128
+ return;
123
129
  if (this.view.destroyed) {
124
- this.shouldDestroy = true;
130
+ this.noUse();
125
131
  return;
126
132
  }
127
133
  const lifeTimeNormalizedProgress = this.lifeTimeBehavior(deltaMS);
128
134
  if (isDead(lifeTimeNormalizedProgress)) {
129
- this.shouldDestroy = true;
135
+ this.noUse();
130
136
  return;
131
137
  }
132
138
  if (this.speedBehavior) {
@@ -162,8 +168,15 @@ class Particle {
162
168
  };
163
169
  }
164
170
  }
165
- destroy() {
171
+ noUse() {
172
+ if (this.view === null)
173
+ return;
166
174
  this.viewContainer.removeChild(this.view);
175
+ this.view = null;
176
+ this.inUse = false;
177
+ }
178
+ isInUse() {
179
+ return this.inUse;
167
180
  }
168
181
  }
169
182
  exports.Particle = Particle;
@@ -1 +1 @@
1
- {"version":3,"file":"Particle.js","sourceRoot":"","sources":["../../src/core/Particle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Particle.js","sourceRoot":"","sources":["../../src/core/Particle.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,24 @@
1
- import { IParticle, IParticleContainer } from '../types';
1
+ import { IParticle, IParticleContainer, ViewContainer, ViewParticle } from '../types';
2
+ import { ConfigManager } from './ConfigManager';
2
3
  export declare class ParticleContainer implements IParticleContainer {
3
- private readonly particleFactory;
4
+ private readonly viewContainer;
5
+ private readonly config;
4
6
  headParticle: IParticle | null;
5
7
  tailParticle: IParticle | null;
8
+ availableParticleHead: IParticle | null;
9
+ availableParticleTail: IParticle | null;
6
10
  private containerParticlesCount;
7
- constructor(particleFactory: () => IParticle);
8
- getParticles(): IParticle[];
11
+ constructor(viewContainer: ViewContainer<ViewParticle>, config: ConfigManager);
12
+ getParticlesArray(): IParticle[];
13
+ getPoolParticlesArray(): IParticle[];
9
14
  getParticlesCount(): number;
10
15
  update(elapsedDelta: number, deltaMS: number): void;
11
16
  clear(): void;
17
+ clearPool(): void;
12
18
  addParticle(): IParticle;
19
+ fillPool(count: number): void;
20
+ private addParticleInUsedParticles;
21
+ private addParticleToPool;
22
+ private getParticleFromPool;
13
23
  }
14
24
  //# sourceMappingURL=ParticleContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleContainer.d.ts","sourceRoot":"","sources":["../../src/core/ParticleContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAKvD,qBAAa,iBAAkB,YAAW,kBAAkB;IAK9C,OAAO,CAAC,QAAQ,CAAC,eAAe;IAJrC,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,uBAAuB,CAAS;gBAEX,eAAe,EAAE,MAAM,SAAS;IAOtD,YAAY,IAAI,SAAS,EAAE;IAe3B,iBAAiB,IAAI,MAAM;IAK3B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA6BnD,KAAK,IAAI,IAAI;IAcb,WAAW,IAAI,SAAS;CAchC"}
1
+ {"version":3,"file":"ParticleContainer.d.ts","sourceRoot":"","sources":["../../src/core/ParticleContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AACpF,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAM9C,qBAAa,iBAAkB,YAAW,kBAAkB;IAO9C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAA+B,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzF,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,qBAAqB,EAAE,SAAS,GAAG,IAAI,CAAC;IACxC,qBAAqB,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/C,OAAO,CAAC,uBAAuB,CAAS;gBAEX,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,EAAmB,MAAM,EAAE,aAAa;IASxG,iBAAiB,IAAI,SAAS,EAAE;IAchC,qBAAqB,IAAI,SAAS,EAAE;IAepC,iBAAiB,IAAI,MAAM;IAK3B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAqCnD,KAAK,IAAI,IAAI;IAiBb,SAAS,IAAI,IAAI;IAKjB,WAAW,IAAI,SAAS;IAYxB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMpC,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,mBAAmB;CAS5B"}
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParticleContainer = void 0;
4
+ const Particle_1 = require("./Particle");
4
5
  class ParticleContainer {
5
- constructor(particleFactory) {
6
- this.particleFactory = particleFactory;
6
+ constructor(viewContainer, config) {
7
+ this.viewContainer = viewContainer;
8
+ this.config = config;
7
9
  this.headParticle = null;
8
10
  this.tailParticle = null;
11
+ this.availableParticleHead = null;
12
+ this.availableParticleTail = null;
9
13
  this.containerParticlesCount = 0;
10
14
  }
11
- getParticles() {
15
+ getParticlesArray() {
12
16
  const particleList = [];
13
17
  let particle = this.headParticle;
14
18
  while (particle !== null) {
@@ -17,49 +21,76 @@ class ParticleContainer {
17
21
  }
18
22
  return particleList;
19
23
  }
24
+ getPoolParticlesArray() {
25
+ const particleList = [];
26
+ let particle = this.availableParticleHead;
27
+ while (particle !== null) {
28
+ particleList.push(particle);
29
+ particle = particle.next;
30
+ }
31
+ return particleList;
32
+ }
20
33
  getParticlesCount() {
21
34
  return this.containerParticlesCount;
22
35
  }
23
36
  update(elapsedDelta, deltaMS) {
24
- var _a;
25
- let particle = this.headParticle;
26
- let prevParticle = null;
27
37
  this.containerParticlesCount = 0;
28
- while (particle !== null) {
29
- if (particle.shouldDestroy) {
30
- (_a = particle.destroy) === null || _a === void 0 ? void 0 : _a.call(particle);
31
- if (particle === this.headParticle) {
38
+ let pointer = this.headParticle;
39
+ let prevParticle = null;
40
+ while (pointer !== null) {
41
+ if (!pointer.isInUse()) {
42
+ if (pointer === this.headParticle) {
32
43
  this.headParticle = this.headParticle.next;
33
44
  }
34
45
  else if (prevParticle === null) {
35
- prevParticle = particle.next;
46
+ prevParticle = pointer.next;
36
47
  }
37
48
  else {
38
- prevParticle.next = particle.next;
49
+ prevParticle.next = pointer.next;
39
50
  }
51
+ const temp = pointer;
52
+ pointer = pointer.next;
53
+ temp.next = null;
54
+ this.addParticleToPool(temp);
40
55
  }
41
56
  else {
42
- particle.update(elapsedDelta, deltaMS);
43
- prevParticle = particle;
57
+ pointer.update(elapsedDelta, deltaMS);
58
+ prevParticle = pointer;
44
59
  this.containerParticlesCount++;
60
+ pointer = pointer.next;
45
61
  }
46
- particle = particle.next;
47
62
  }
48
63
  this.tailParticle = prevParticle;
49
64
  }
50
65
  clear() {
51
- var _a;
66
+ this.availableParticleHead = this.headParticle;
67
+ this.availableParticleTail = this.tailParticle;
52
68
  let particle = this.headParticle;
53
69
  while (particle !== null) {
54
- (_a = particle.destroy) === null || _a === void 0 ? void 0 : _a.call(particle);
70
+ particle.noUse();
55
71
  particle = particle.next;
56
72
  }
57
73
  this.headParticle = null;
58
74
  this.tailParticle = null;
59
75
  this.containerParticlesCount = 0;
60
76
  }
77
+ clearPool() {
78
+ this.availableParticleHead = null;
79
+ this.availableParticleTail = null;
80
+ }
61
81
  addParticle() {
62
- const particle = this.particleFactory();
82
+ let particle = this.getParticleFromPool() || new Particle_1.Particle(this.viewContainer);
83
+ particle.use(this.config.view, this.config.particleConfig);
84
+ this.addParticleInUsedParticles(particle);
85
+ this.containerParticlesCount++;
86
+ return particle;
87
+ }
88
+ fillPool(count) {
89
+ for (let i = 0; i < count; i++) {
90
+ this.addParticleToPool(new Particle_1.Particle(this.viewContainer));
91
+ }
92
+ }
93
+ addParticleInUsedParticles(particle) {
63
94
  if (this.headParticle === null) {
64
95
  this.headParticle = this.tailParticle = particle;
65
96
  }
@@ -67,7 +98,22 @@ class ParticleContainer {
67
98
  this.tailParticle.next = particle;
68
99
  this.tailParticle = particle;
69
100
  }
70
- this.containerParticlesCount++;
101
+ }
102
+ addParticleToPool(particle) {
103
+ if (this.availableParticleHead === null) {
104
+ this.availableParticleHead = this.availableParticleTail = particle;
105
+ }
106
+ else {
107
+ this.availableParticleTail.next = particle;
108
+ this.availableParticleTail = particle;
109
+ }
110
+ }
111
+ getParticleFromPool() {
112
+ if (this.availableParticleHead === null)
113
+ return null;
114
+ const particle = this.availableParticleHead;
115
+ this.availableParticleHead = this.availableParticleHead.next;
116
+ particle.next = null;
71
117
  return particle;
72
118
  }
73
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleContainer.js","sourceRoot":"","sources":["../../src/core/ParticleContainer.ts"],"names":[],"mappings":";;;AAKA,MAAa,iBAAiB;IAK5B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAC3D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACnC,CAAC;IAGM,YAAY;QACjB,MAAM,YAAY,GAAgB,EAAE,CAAC;QAErC,IAAI,QAAQ,GAAqB,IAAI,CAAC,YAAY,CAAC;QAEnD,OAAO,QAAQ,KAAK,IAAI,EAAE;YACxB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE5B,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;SAC1B;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAGM,iBAAiB;QACtB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAGM,MAAM,CAAC,YAAoB,EAAE,OAAe;;QACjD,IAAI,QAAQ,GAAqB,IAAI,CAAC,YAAY,CAAC;QACnD,IAAI,YAAY,GAAqB,IAAI,CAAC;QAC1C,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QAEjC,OAAO,QAAQ,KAAK,IAAI,EAAE;YAExB,IAAI,QAAQ,CAAC,aAAa,EAAE;gBAC1B,MAAA,QAAQ,CAAC,OAAO,wDAAI,CAAC;gBAErB,IAAI,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;oBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;iBAC5C;qBAAM,IAAI,YAAY,KAAK,IAAI,EAAE;oBAChC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;iBAC9B;qBAAM;oBACL,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;iBACnC;aACF;iBAAM;gBACL,QAAQ,CAAC,MAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACxC,YAAY,GAAG,QAAQ,CAAC;gBACxB,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC;YAED,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;SAC1B;QAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,KAAK;;QACV,IAAI,QAAQ,GAAqB,IAAI,CAAC,YAAY,CAAC;QAEnD,OAAO,QAAQ,KAAK,IAAI,EAAE;YACxB,MAAA,QAAQ,CAAC,OAAO,wDAAI,CAAC;YACrB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;SAC1B;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAExC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,YAAa,CAAC,IAAI,GAAG,QAAQ,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;SAC9B;QAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAzFD,8CAyFC"}
1
+ {"version":3,"file":"ParticleContainer.js","sourceRoot":"","sources":["../../src/core/ParticleContainer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { IParticle, ParticleFluxConfig, ViewContainer, ViewParticle, ViewRenderFn } from '../types';
2
+ import { ConfigManager } from './ConfigManager';
2
3
  export declare class ParticleEmitter<V extends ViewParticle = ViewParticle> {
4
+ readonly config: ConfigManager;
3
5
  private currentTime;
4
6
  private nextSpawnTime;
5
7
  private readonly container;
6
- private readonly config;
7
8
  private readonly ticker;
8
9
  constructor(viewContainer: ViewContainer<V>, viewFactory: ViewRenderFn[] | ViewRenderFn, initialConfig: ParticleFluxConfig);
9
10
  emitOnce(particlesCount?: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleEmitter.d.ts","sourceRoot":"","sources":["../../src/core/ParticleEmitter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAGT,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAC;AAOlB,qBAAa,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAEhE,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAG/B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,WAAW,EAAE,YAAY,EAAE,GAAG,YAAY,EAC1C,aAAa,EAAE,kBAAkB;IAuB5B,QAAQ,CAAC,cAAc,GAAE,MAAU,GAAG,IAAI;IAiB1C,QAAQ,IAAI,IAAI;IAchB,SAAS,IAAI,IAAI;IAKjB,SAAS,IAAI,IAAI;IAIjB,UAAU,IAAI,IAAI;IAQlB,QAAQ,IAAI,IAAI;IAOhB,KAAK,IAAI,IAAI;IAQb,YAAY,IAAI,OAAO;IAIvB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAInD,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5D,iBAAiB,IAAI,MAAM;IAI3B,YAAY,IAAI,SAAS,EAAE;IAKlC,OAAO,CAAC,YAAY,CAuBlB;IAGF,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,iCAAiC;CAQ1C"}
1
+ {"version":3,"file":"ParticleEmitter.d.ts","sourceRoot":"","sources":["../../src/core/ParticleEmitter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAGT,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAK9C,qBAAa,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAChE,SAAgB,MAAM,EAAE,aAAa,CAAC;IAGtC,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAG/B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,WAAW,EAAE,YAAY,EAAE,GAAG,YAAY,EAC1C,aAAa,EAAE,kBAAkB;IAqB5B,QAAQ,CAAC,cAAc,GAAE,MAAU,GAAG,IAAI;IAiB1C,QAAQ,IAAI,IAAI;IAchB,SAAS,IAAI,IAAI;IAKjB,SAAS,IAAI,IAAI;IAIjB,UAAU,IAAI,IAAI;IAQlB,QAAQ,IAAI,IAAI;IAOhB,KAAK,IAAI,IAAI;IAQb,YAAY,IAAI,OAAO;IAIvB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAInD,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5D,iBAAiB,IAAI,MAAM;IAI3B,YAAY,IAAI,SAAS,EAAE;IAKlC,OAAO,CAAC,YAAY,CAuBlB;IAGF,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,iCAAiC;CAQ1C"}
@@ -4,7 +4,6 @@ exports.ParticleEmitter = void 0;
4
4
  const ParticleContainer_1 = require("./ParticleContainer");
5
5
  const ConfigManager_1 = require("./ConfigManager");
6
6
  const Ticker_1 = require("../utils/Ticker");
7
- const Particle_1 = require("./Particle");
8
7
  const RealRandom_1 = require("../utils/random/RealRandom");
9
8
  const typeguards_1 = require("../typeguards");
10
9
  class ParticleEmitter {
@@ -27,7 +26,7 @@ class ParticleEmitter {
27
26
  };
28
27
  this.ticker = Ticker_1.Ticker.getInstance();
29
28
  this.config = new ConfigManager_1.ConfigManager(initialConfig, viewFactory);
30
- this.container = new ParticleContainer_1.ParticleContainer(() => new Particle_1.Particle(viewContainer, this.config.view, this.config.particleConfig));
29
+ this.container = new ParticleContainer_1.ParticleContainer(viewContainer, this.config);
31
30
  this.ticker.setCallback(this.handleUpdate);
32
31
  this.currentTime = 0;
33
32
  this.nextSpawnTime = this.getNextSpawnTime();
@@ -85,7 +84,7 @@ class ParticleEmitter {
85
84
  return this.container.getParticlesCount();
86
85
  }
87
86
  getParticles() {
88
- return this.container.getParticles();
87
+ return this.container.getParticlesArray();
89
88
  }
90
89
  emit() {
91
90
  if (this.config.spawnChance !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleEmitter.js","sourceRoot":"","sources":["../../src/core/ParticleEmitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParticleEmitter.js","sourceRoot":"","sources":["../../src/core/ParticleEmitter.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ class TestViewContainer {
24
24
  this.children = this.children.filter((c) => c !== children);
25
25
  }
26
26
  }
27
- const particleFlux = new ParticleEmitter_1.ParticleEmitter(new TestViewContainer(), () => new TestViewParticle(), {
27
+ const emitter = new ParticleEmitter_1.ParticleEmitter(new TestViewContainer(), () => new TestViewParticle(), {
28
28
  emitterConfig: {
29
29
  autoStart: false,
30
30
  },
@@ -44,8 +44,8 @@ const particleFlux = new ParticleEmitter_1.ParticleEmitter(new TestViewContainer
44
44
  },
45
45
  },
46
46
  });
47
- particleFlux.emitOnce(50000);
47
+ emitter.emitOnce(50000);
48
48
  const startTime = performance.now();
49
- particleFlux.updateContainer(1, 16.6);
49
+ emitter.updateContainer(1, 16.6);
50
50
  console.log(performance.now() - startTime);
51
51
  //# sourceMappingURL=test-perfomance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-perfomance.js","sourceRoot":"","sources":["../../src/scripts/test-perfomance.ts"],"names":[],"mappings":";;AAAA,6DAAwD;AAGxD,MAAM,gBAAgB;IAAtB;QACE,aAAQ,GAAY,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;QACjC,UAAK,GAAY,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;QAC9B,UAAK,GAAW,CAAC,CAAC;QAClB,SAAI,GAAoB,QAAQ,CAAC;QACjC,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,WAAM,GAAW,CAAC,CAAC;QACnB,cAAS,GAAY,KAAK,CAAC;IAC7B,CAAC;CAAA;AAED,MAAM,iBAAiB;IAGrB;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAEM,QAAQ,CAAC,QAAsB;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,WAAW,CAAC,QAAsB;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,MAAM,YAAY,GAAG,IAAI,iCAAe,CAAC,IAAI,iBAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE,EAAE;IAC9F,aAAa,EAAE;QACb,SAAS,EAAE,KAAK;KACjB;IACD,cAAc,EAAE;QACd,QAAQ,EAAE;YACR,KAAK,EAAE,MAAM;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;SACT;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,GAAG;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,GAAG;SACX;KACF;CACF,CAAC,CAAC;AAEH,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAE7B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAEpC,YAAY,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAEtC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"test-perfomance.js","sourceRoot":"","sources":["../../src/scripts/test-perfomance.ts"],"names":[],"mappings":";;AAAA,6DAAwD;AAGxD,MAAM,gBAAgB;IAAtB;QACE,aAAQ,GAAY,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;QACjC,UAAK,GAAY,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;QAC9B,UAAK,GAAW,CAAC,CAAC;QAClB,SAAI,GAAoB,QAAQ,CAAC;QACjC,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,WAAM,GAAW,CAAC,CAAC;QACnB,cAAS,GAAY,KAAK,CAAC;IAC7B,CAAC;CAAA;AAED,MAAM,iBAAiB;IAGrB;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAEM,QAAQ,CAAC,QAAsB;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,WAAW,CAAC,QAAsB;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,MAAM,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,iBAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE,EAAE;IACzF,aAAa,EAAE;QACb,SAAS,EAAE,KAAK;KACjB;IACD,cAAc,EAAE;QACd,QAAQ,EAAE;YACR,KAAK,EAAE,MAAM;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;SACT;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,GAAG;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,GAAG;SACX;KACF;CACF,CAAC,CAAC;AAEH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAExB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAEpC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAEjC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC"}
package/lib/types.d.ts CHANGED
@@ -26,18 +26,19 @@ export interface ViewContainer<U extends ViewParticle> {
26
26
  export interface IParticleContainer {
27
27
  addParticle(): void;
28
28
  getParticlesCount(): number;
29
- getParticles(): IParticle[];
29
+ getParticlesArray(): IParticle[];
30
30
  clear(): void;
31
31
  update(elapsedDelta: number, deltaMS: number): void;
32
32
  }
33
33
  export interface IParticle {
34
+ use(viewRenderFn: ViewRenderFn | ViewRenderFn[], config: ParticleConfig): void;
34
35
  update(elapsedDelta: number, deltaMS: number): void;
35
- destroy(): void;
36
- shouldDestroy: boolean;
36
+ noUse(): void;
37
+ isInUse(): boolean;
37
38
  next: IParticle | null;
38
39
  speed: number;
39
40
  direction: Point2d;
40
- view: ViewParticle;
41
+ view: ViewParticle | null;
41
42
  }
42
43
  export interface ITicker {
43
44
  FPS: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "particle-flux",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "main": "lib/index.js",
5
5
  "license": "UNLICENSED",
6
6
  "files": [