particle-flux 0.6.0 → 0.6.2

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.
Files changed (58) hide show
  1. package/lib/core/ParticleContainer.d.ts.map +1 -1
  2. package/lib/core/ParticleContainer.js +20 -12
  3. package/lib/core/ParticleContainer.js.map +1 -1
  4. package/lib/core/direction/getDirection.d.ts +4 -1
  5. package/lib/core/direction/getDirection.d.ts.map +1 -1
  6. package/lib/core/direction/getDirection.js +4 -1
  7. package/lib/core/direction/getDirection.js.map +1 -1
  8. package/lib/core/particle/createUnusedParticle.d.ts +3 -0
  9. package/lib/core/particle/createUnusedParticle.d.ts.map +1 -0
  10. package/lib/core/particle/createUnusedParticle.js +14 -0
  11. package/lib/core/particle/createUnusedParticle.js.map +1 -0
  12. package/lib/core/particle/createView.d.ts +3 -0
  13. package/lib/core/particle/createView.d.ts.map +1 -0
  14. package/lib/core/particle/createView.js +9 -0
  15. package/lib/core/particle/createView.js.map +1 -0
  16. package/lib/core/particle/getInitialParticleState.d.ts +3 -0
  17. package/lib/core/particle/getInitialParticleState.d.ts.map +1 -0
  18. package/lib/core/particle/getInitialParticleState.js +28 -0
  19. package/lib/core/particle/getInitialParticleState.js.map +1 -0
  20. package/lib/core/particle/isParticleDead.d.ts +3 -0
  21. package/lib/core/particle/isParticleDead.d.ts.map +1 -0
  22. package/lib/core/particle/isParticleDead.js +8 -0
  23. package/lib/core/particle/isParticleDead.js.map +1 -0
  24. package/lib/core/particle/isParticleInUse.d.ts +3 -0
  25. package/lib/core/particle/isParticleInUse.d.ts.map +1 -0
  26. package/lib/core/particle/isParticleInUse.js +8 -0
  27. package/lib/core/particle/isParticleInUse.js.map +1 -0
  28. package/lib/core/particle/noUseParticle.d.ts +3 -0
  29. package/lib/core/particle/noUseParticle.d.ts.map +1 -0
  30. package/lib/core/particle/noUseParticle.js +9 -0
  31. package/lib/core/particle/noUseParticle.js.map +1 -0
  32. package/lib/core/particle/removeParticle.d.ts +3 -0
  33. package/lib/core/particle/removeParticle.d.ts.map +1 -0
  34. package/lib/core/particle/removeParticle.js +8 -0
  35. package/lib/core/particle/removeParticle.js.map +1 -0
  36. package/lib/core/particle/updateParticle.d.ts +3 -0
  37. package/lib/core/particle/updateParticle.d.ts.map +1 -0
  38. package/lib/core/particle/updateParticle.js +86 -0
  39. package/lib/core/particle/updateParticle.js.map +1 -0
  40. package/lib/core/particle/useParticle.d.ts +3 -0
  41. package/lib/core/particle/useParticle.d.ts.map +1 -0
  42. package/lib/core/particle/useParticle.js +116 -0
  43. package/lib/core/particle/useParticle.js.map +1 -0
  44. package/lib/core/particle/wasParticleRemoved.d.ts +3 -0
  45. package/lib/core/particle/wasParticleRemoved.d.ts.map +1 -0
  46. package/lib/core/particle/wasParticleRemoved.js +8 -0
  47. package/lib/core/particle/wasParticleRemoved.js.map +1 -0
  48. package/lib/index.d.ts +3 -1
  49. package/lib/index.d.ts.map +1 -1
  50. package/lib/index.js +6 -4
  51. package/lib/index.js.map +1 -1
  52. package/lib/types.d.ts +1 -0
  53. package/lib/types.d.ts.map +1 -1
  54. package/package.json +1 -1
  55. package/lib/core/Particle.d.ts +0 -11
  56. package/lib/core/Particle.d.ts.map +0 -1
  57. package/lib/core/Particle.js +0 -241
  58. package/lib/core/Particle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleContainer.d.ts","sourceRoot":"","sources":["../../src/core/ParticleContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AACpF,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAgB9C,qBAAa,iBAAiB,CAAC,IAAI,SAAS,YAAY,CAAE,YAAW,kBAAkB,CAAC,IAAI,CAAC;IAK/E,OAAO,CAAC,QAAQ,CAAC,aAAa;IAAuB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJjF,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,qBAAqB,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrD,OAAO,CAAC,uBAAuB,CAAS;gBAEX,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,EAAmB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;IAWtG,iBAAiB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;IActC,qBAAqB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;IAe1C,iBAAiB,IAAI,MAAM;IAK3B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAoBnD,KAAK,IAAI,IAAI;IAqBb,kBAAkB,IAAI,IAAI;IAe1B,SAAS,IAAI,IAAI;IAYjB,cAAc,IAAI,SAAS,CAAC,IAAI,CAAC;IAajC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMpC,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,mBAAmB;CAe5B"}
1
+ {"version":3,"file":"ParticleContainer.d.ts","sourceRoot":"","sources":["../../src/core/ParticleContainer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AACpF,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAW9C,qBAAa,iBAAiB,CAAC,IAAI,SAAS,YAAY,CAAE,YAAW,kBAAkB,CAAC,IAAI,CAAC;IAK/E,OAAO,CAAC,QAAQ,CAAC,aAAa;IAAuB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJjF,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,qBAAqB,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrD,OAAO,CAAC,uBAAuB,CAAS;gBAEX,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,EAAmB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC;IAWtG,iBAAiB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;IActC,qBAAqB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;IAe1C,iBAAiB,IAAI,MAAM;IAK3B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAoBnD,KAAK,IAAI,IAAI;IAqBb,kBAAkB,IAAI,IAAI;IAe1B,SAAS,IAAI,IAAI;IAYjB,cAAc,IAAI,SAAS,CAAC,IAAI,CAAC;IAajC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMpC,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,mBAAmB;CAe5B"}
@@ -1,7 +1,15 @@
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
+ const isParticleDead_1 = require("./particle/isParticleDead");
5
+ const isParticleInUse_1 = require("./particle/isParticleInUse");
6
+ const noUseParticle_1 = require("./particle/noUseParticle");
7
+ const createUnusedParticle_1 = require("./particle/createUnusedParticle");
8
+ const createView_1 = require("./particle/createView");
9
+ const removeParticle_1 = require("./particle/removeParticle");
10
+ const updateParticle_1 = require("./particle/updateParticle");
11
+ const useParticle_1 = require("./particle/useParticle");
12
+ const wasParticleRemoved_1 = require("./particle/wasParticleRemoved");
5
13
  class ParticleContainer {
6
14
  viewContainer;
7
15
  config;
@@ -43,16 +51,16 @@ class ParticleContainer {
43
51
  this.containerParticlesCount = 0;
44
52
  let pointer = this.particleHead;
45
53
  while (pointer !== null) {
46
- if ((0, Particle_1.wasParticleRemoved)(pointer)) {
47
- (0, Particle_1.removeParticle)(this.viewContainer, pointer);
54
+ if ((0, wasParticleRemoved_1.wasParticleRemoved)(pointer)) {
55
+ (0, removeParticle_1.removeParticle)(this.viewContainer, pointer);
48
56
  pointer = this.removeActiveParticle(pointer, false);
49
57
  }
50
- else if ((0, Particle_1.isParticleDead)(pointer) || !(0, Particle_1.isParticleInUse)(pointer)) {
51
- (0, Particle_1.noUseParticle)(pointer);
58
+ else if ((0, isParticleDead_1.isParticleDead)(pointer) || !(0, isParticleInUse_1.isParticleInUse)(pointer)) {
59
+ (0, noUseParticle_1.noUseParticle)(pointer);
52
60
  pointer = this.removeActiveParticle(pointer, true);
53
61
  }
54
62
  else {
55
- (0, Particle_1.updateParticle)(pointer, elapsedDelta, deltaMS);
63
+ (0, updateParticle_1.updateParticle)(pointer, elapsedDelta, deltaMS);
56
64
  this.containerParticlesCount++;
57
65
  pointer = pointer.next;
58
66
  }
@@ -61,7 +69,7 @@ class ParticleContainer {
61
69
  clear() {
62
70
  let particle = this.particleHead;
63
71
  while (particle !== null) {
64
- (0, Particle_1.noUseParticle)(particle);
72
+ (0, noUseParticle_1.noUseParticle)(particle);
65
73
  const temp = particle;
66
74
  particle = particle.next;
67
75
  temp.next = null;
@@ -74,7 +82,7 @@ class ParticleContainer {
74
82
  clearViewContainer() {
75
83
  let particle = this.particleHead;
76
84
  while (particle !== null) {
77
- (0, Particle_1.removeParticle)(this.viewContainer, particle);
85
+ (0, removeParticle_1.removeParticle)(this.viewContainer, particle);
78
86
  particle = particle.next;
79
87
  }
80
88
  this.particleHead = null;
@@ -84,21 +92,21 @@ class ParticleContainer {
84
92
  clearPool() {
85
93
  let particle = this.availableParticleHead;
86
94
  while (particle !== null) {
87
- (0, Particle_1.removeParticle)(this.viewContainer, particle);
95
+ (0, removeParticle_1.removeParticle)(this.viewContainer, particle);
88
96
  particle = particle.next;
89
97
  }
90
98
  this.availableParticleHead = null;
91
99
  }
92
100
  createParticle() {
93
- const particle = this.getParticleFromPool() || (0, Particle_1.createUnusedParticle)(this.viewContainer, (0, Particle_1.createView)(this.config.view));
94
- (0, Particle_1.useParticle)(particle, this.config.particleConfig);
101
+ const particle = this.getParticleFromPool() || (0, createUnusedParticle_1.createUnusedParticle)(this.viewContainer, (0, createView_1.createView)(this.config.view));
102
+ (0, useParticle_1.useParticle)(particle, this.config.particleConfig);
95
103
  this.addParticleInUsedParticles(particle);
96
104
  this.containerParticlesCount++;
97
105
  return particle;
98
106
  }
99
107
  fillPool(count) {
100
108
  for (let i = 0; i < count; i++) {
101
- this.addParticleToPool((0, Particle_1.createUnusedParticle)(this.viewContainer, (0, Particle_1.createView)(this.config.view)));
109
+ this.addParticleToPool((0, createUnusedParticle_1.createUnusedParticle)(this.viewContainer, (0, createView_1.createView)(this.config.view)));
102
110
  }
103
111
  }
104
112
  removeActiveParticle(particle, isMoveInPool) {
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleContainer.js","sourceRoot":"","sources":["../../src/core/ParticleContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParticleContainer.js","sourceRoot":"","sources":["../../src/core/ParticleContainer.ts"],"names":[],"mappings":";;;AAAA,8DAAyD;AACzD,gEAA2D;AAC3D,4DAAuD;AAGvD,0EAAqE;AACrE,sDAAiD;AACjD,8DAAyD;AACzD,8DAAyD;AACzD,wDAAmD;AACnD,sEAAiE;AAKjE,MAAa,iBAAiB;IAKC;IAAqD;IAJ3E,YAAY,CAAyB;IACrC,qBAAqB,CAAyB;IAC7C,uBAAuB,CAAS;IAExC,YAA6B,aAAkC,EAAmB,MAA2B;QAAhF,kBAAa,GAAb,aAAa,CAAqB;QAAmB,WAAM,GAAN,MAAM,CAAqB;QAC3G,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAGM,iBAAiB;QACtB,MAAM,YAAY,GAAsB,EAAE,CAAC;QAE3C,IAAI,QAAQ,GAA2B,IAAI,CAAC,YAAY,CAAC;QAEzD,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;IAEM,qBAAqB;QAC1B,MAAM,YAAY,GAAsB,EAAE,CAAC;QAE3C,IAAI,QAAQ,GAA2B,IAAI,CAAC,qBAAqB,CAAC;QAElE,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,CAAC,uBAAuB,GAAG,CAAC,CAAC;QAEjC,IAAI,OAAO,GAA2B,IAAI,CAAC,YAAY,CAAC;QAExD,OAAO,OAAO,KAAK,IAAI,EAAE;YACvB,IAAI,IAAA,uCAAkB,EAAC,OAAO,CAAC,EAAE;gBAC/B,IAAA,+BAAc,EAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBAC5C,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrD;iBAAM,IAAI,IAAA,+BAAc,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,iCAAe,EAAC,OAAO,CAAC,EAAE;gBAC/D,IAAA,6BAAa,EAAC,OAAO,CAAC,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACpD;iBAAM;gBACL,IAAA,+BAAc,EAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;aACxB;SACF;IACH,CAAC;IAEM,KAAK;QACV,IAAI,QAAQ,GAA2B,IAAI,CAAC,YAAY,CAAC;QAEzD,OAAO,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAA,6BAAa,EAAC,QAAQ,CAAC,CAAC;YAExB,MAAM,IAAI,GAAG,QAAQ,CAAC;YAEtB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,kBAAkB;QACvB,IAAI,QAAQ,GAA2B,IAAI,CAAC,YAAY,CAAC;QAEzD,OAAO,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAA,+BAAc,EAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC7C,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;SAC1B;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,SAAS;QACd,IAAI,QAAQ,GAA2B,IAAI,CAAC,qBAAqB,CAAC;QAElE,OAAO,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAA,+BAAc,EAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAE7C,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;SAC1B;QAED,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAEM,cAAc;QACnB,MAAM,QAAQ,GACZ,IAAI,CAAC,mBAAmB,EAAE,IAAI,IAAA,2CAAoB,EAAC,IAAI,CAAC,aAAa,EAAE,IAAA,uBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvG,IAAA,yBAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAElD,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAE1C,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,QAAQ,CAAC,KAAa;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAA,2CAAoB,EAAO,IAAI,CAAC,aAAa,EAAE,IAAA,uBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtG;IACH,CAAC;IAEO,oBAAoB,CAAC,QAAyB,EAAE,YAAqB;QAC3E,IAAI,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAC3C,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;aAC/B;SACF;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEnC,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;aACpC;SACF;QAED,IAAI,IAAI,GAA2B,IAAI,CAAC;QACxC,IAAI,YAAY,EAAE;YAEhB,MAAM,IAAI,GAAG,QAAQ,CAAC;YACtB,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAErB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;SACtB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,0BAA0B,CAAC,QAAyB;QAC1D,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC;YAClC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;SAC9B;IACH,CAAC;IAEO,iBAAiB,CAAC,QAAyB;QACjD,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3C,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC3C,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;SACvC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;QAE7D,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,IAAI,CAAC;SACxC;QAED,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAErB,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA1MD,8CA0MC"}
@@ -1,4 +1,7 @@
1
1
  import { DirectionConfig } from './direction.types';
2
2
  import { Point2d } from '../../types';
3
- export declare function getDirection(config: DirectionConfig): Point2d;
3
+ export declare function getDirection(config: DirectionConfig): {
4
+ vector: Point2d;
5
+ angle: number;
6
+ };
4
7
  //# sourceMappingURL=getDirection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDirection.d.ts","sourceRoot":"","sources":["../../../src/core/direction/getDirection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAIpC,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAM7D"}
1
+ {"version":3,"file":"getDirection.d.ts","sourceRoot":"","sources":["../../../src/core/direction/getDirection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAIpC,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG;IACrD,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CASA"}
@@ -9,7 +9,10 @@ function getDirection(config) {
9
9
  const angle = (0, direction_typeguards_1.isStaticDirectionBehaviorConfig)(config)
10
10
  ? config.angle
11
11
  : RealRandom_1.realRandom.generateFloatNumber(config.minAngle, config.maxAngle);
12
- return Vector2Utils_1.Vector2Utils.angleToPoint(NumberUtils_1.NumberUtils.degreesToRadians(angle));
12
+ return {
13
+ vector: Vector2Utils_1.Vector2Utils.angleToPoint(NumberUtils_1.NumberUtils.degreesToRadians(angle)),
14
+ angle,
15
+ };
13
16
  }
14
17
  exports.getDirection = getDirection;
15
18
  //# sourceMappingURL=getDirection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDirection.js","sourceRoot":"","sources":["../../../src/core/direction/getDirection.ts"],"names":[],"mappings":";;;AACA,yDAAoD;AACpD,8DAAyD;AAEzD,iEAAuE;AACvE,2DAAsD;AAEtD,SAAgB,YAAY,CAAC,MAAuB;IAClD,MAAM,KAAK,GAAG,IAAA,sDAA+B,EAAC,MAAM,CAAC;QACnD,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,uBAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErE,OAAO,2BAAY,CAAC,YAAY,CAAC,yBAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC;AAND,oCAMC"}
1
+ {"version":3,"file":"getDirection.js","sourceRoot":"","sources":["../../../src/core/direction/getDirection.ts"],"names":[],"mappings":";;;AACA,yDAAoD;AACpD,8DAAyD;AAEzD,iEAAuE;AACvE,2DAAsD;AAEtD,SAAgB,YAAY,CAAC,MAAuB;IAIlD,MAAM,KAAK,GAAG,IAAA,sDAA+B,EAAC,MAAM,CAAC;QACnD,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,uBAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAErE,OAAO;QACL,MAAM,EAAE,2BAAY,CAAC,YAAY,CAAC,yBAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACtE,KAAK;KACN,CAAC;AACJ,CAAC;AAZD,oCAYC"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, ViewContainer, IParticle } from '../../types';
2
+ export declare function createUnusedParticle<View extends ViewParticle>(viewContainer: ViewContainer<View>, view: View): IParticle<View>;
3
+ //# sourceMappingURL=createUnusedParticle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUnusedParticle.d.ts","sourceRoot":"","sources":["../../../src/core/particle/createUnusedParticle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAGnE,wBAAgB,oBAAoB,CAAC,IAAI,SAAS,YAAY,EAC5D,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,EAClC,IAAI,EAAE,IAAI,GACT,SAAS,CAAC,IAAI,CAAC,CAQjB"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createUnusedParticle = void 0;
4
+ const getInitialParticleState_1 = require("./getInitialParticleState");
5
+ function createUnusedParticle(viewContainer, view) {
6
+ viewContainer.addChild(view);
7
+ view.visible = false;
8
+ return {
9
+ view,
10
+ ...(0, getInitialParticleState_1.getInitialParticleState)(),
11
+ };
12
+ }
13
+ exports.createUnusedParticle = createUnusedParticle;
14
+ //# sourceMappingURL=createUnusedParticle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUnusedParticle.js","sourceRoot":"","sources":["../../../src/core/particle/createUnusedParticle.ts"],"names":[],"mappings":";;;AACA,uEAAkE;AAElE,SAAgB,oBAAoB,CAClC,aAAkC,EAClC,IAAU;IAEV,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IAErB,OAAO;QACL,IAAI;QACJ,GAAG,IAAA,iDAAuB,GAAE;KAC7B,CAAC;AACJ,CAAC;AAXD,oDAWC"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, ViewRenderFn } from '../../types';
2
+ export declare function createView<View extends ViewParticle>(viewFactory: ViewRenderFn<View> | ViewRenderFn<View>[]): View;
3
+ //# sourceMappingURL=createView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createView.d.ts","sourceRoot":"","sources":["../../../src/core/particle/createView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAGvD,wBAAgB,UAAU,CAAC,IAAI,SAAS,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAElH"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createView = void 0;
4
+ const RealRandom_1 = require("../../utils/random/RealRandom");
5
+ function createView(viewFactory) {
6
+ return Array.isArray(viewFactory) ? RealRandom_1.realRandom.choice(viewFactory)() : viewFactory();
7
+ }
8
+ exports.createView = createView;
9
+ //# sourceMappingURL=createView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createView.js","sourceRoot":"","sources":["../../../src/core/particle/createView.ts"],"names":[],"mappings":";;;AACA,8DAAyD;AAEzD,SAAgB,UAAU,CAA4B,WAAsD;IAC1G,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,uBAAU,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC;AAFD,gCAEC"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, IParticle } from '../../types';
2
+ export declare function getInitialParticleState<View extends ViewParticle>(): Omit<IParticle<View>, 'view'>;
3
+ //# sourceMappingURL=getInitialParticleState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInitialParticleState.d.ts","sourceRoot":"","sources":["../../../src/core/particle/getInitialParticleState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEpD,wBAAgB,uBAAuB,CAAC,IAAI,SAAS,YAAY,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAwBlG"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInitialParticleState = void 0;
4
+ function getInitialParticleState() {
5
+ return {
6
+ speed: 0,
7
+ deltaPath: { x: 0, y: 0 },
8
+ initialPosition: { x: 0, y: 0 },
9
+ directionRotation: 0,
10
+ direction: { x: 0, y: 0 },
11
+ speedBehavior: null,
12
+ gravityBehavior: 0,
13
+ pathFunc: null,
14
+ usePathFunc: false,
15
+ useGravity: false,
16
+ next: null,
17
+ prev: null,
18
+ inUse: false,
19
+ age: 0,
20
+ lifeTime: 0,
21
+ alphaBehavior: null,
22
+ rotationBehavior: null,
23
+ scaleBehavior: null,
24
+ colorBehavior: null,
25
+ };
26
+ }
27
+ exports.getInitialParticleState = getInitialParticleState;
28
+ //# sourceMappingURL=getInitialParticleState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInitialParticleState.js","sourceRoot":"","sources":["../../../src/core/particle/getInitialParticleState.ts"],"names":[],"mappings":";;;AAEA,SAAgB,uBAAuB;IACrC,OAAO;QACL,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC;QACvB,eAAe,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC;QAC7B,iBAAiB,EAAE,CAAC;QACpB,SAAS,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC;QACvB,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,CAAC;QAClB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,KAAK;QAClB,UAAU,EAAE,KAAK;QAEjB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,CAAC;QACN,QAAQ,EAAE,CAAC;QAEX,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC;AAxBD,0DAwBC"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, IParticle } from '../../types';
2
+ export declare function isParticleDead<View extends ViewParticle>(particle: IParticle<View>): boolean;
3
+ //# sourceMappingURL=isParticleDead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isParticleDead.d.ts","sourceRoot":"","sources":["../../../src/core/particle/isParticleDead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEpD,wBAAgB,cAAc,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAE5F"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isParticleDead = void 0;
4
+ function isParticleDead(particle) {
5
+ return particle.age === particle.lifeTime;
6
+ }
7
+ exports.isParticleDead = isParticleDead;
8
+ //# sourceMappingURL=isParticleDead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isParticleDead.js","sourceRoot":"","sources":["../../../src/core/particle/isParticleDead.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAA4B,QAAyB;IACjF,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,QAAQ,CAAC;AAC5C,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, IParticle } from '../../types';
2
+ export declare function isParticleInUse<View extends ViewParticle>(particle: IParticle<View>): boolean;
3
+ //# sourceMappingURL=isParticleInUse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isParticleInUse.d.ts","sourceRoot":"","sources":["../../../src/core/particle/isParticleInUse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEpD,wBAAgB,eAAe,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAE7F"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isParticleInUse = void 0;
4
+ function isParticleInUse(particle) {
5
+ return particle.inUse;
6
+ }
7
+ exports.isParticleInUse = isParticleInUse;
8
+ //# sourceMappingURL=isParticleInUse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isParticleInUse.js","sourceRoot":"","sources":["../../../src/core/particle/isParticleInUse.ts"],"names":[],"mappings":";;;AAEA,SAAgB,eAAe,CAA4B,QAAyB;IAClF,OAAO,QAAQ,CAAC,KAAK,CAAC;AACxB,CAAC;AAFD,0CAEC"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, IParticle } from '../../types';
2
+ export declare function noUseParticle<View extends ViewParticle>(particle: IParticle<View>): void;
3
+ //# sourceMappingURL=noUseParticle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noUseParticle.d.ts","sourceRoot":"","sources":["../../../src/core/particle/noUseParticle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEpD,wBAAgB,aAAa,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAGxF"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noUseParticle = void 0;
4
+ function noUseParticle(particle) {
5
+ particle.view.visible = false;
6
+ particle.inUse = false;
7
+ }
8
+ exports.noUseParticle = noUseParticle;
9
+ //# sourceMappingURL=noUseParticle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noUseParticle.js","sourceRoot":"","sources":["../../../src/core/particle/noUseParticle.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAA4B,QAAyB;IAChF,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9B,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AACzB,CAAC;AAHD,sCAGC"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, ViewContainer, IParticle } from '../../types';
2
+ export declare function removeParticle<View extends ViewParticle>(viewContainer: ViewContainer<View>, particle: IParticle<View>): void;
3
+ //# sourceMappingURL=removeParticle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeParticle.d.ts","sourceRoot":"","sources":["../../../src/core/particle/removeParticle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEnE,wBAAgB,cAAc,CAAC,IAAI,SAAS,YAAY,EACtD,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GACxB,IAAI,CAEN"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeParticle = void 0;
4
+ function removeParticle(viewContainer, particle) {
5
+ viewContainer.removeChild(particle.view);
6
+ }
7
+ exports.removeParticle = removeParticle;
8
+ //# sourceMappingURL=removeParticle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeParticle.js","sourceRoot":"","sources":["../../../src/core/particle/removeParticle.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAC5B,aAAkC,EAClC,QAAyB;IAEzB,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AALD,wCAKC"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, IParticle } from '../../types';
2
+ export declare function updateParticle<View extends ViewParticle>(particle: IParticle<View>, elapsedDelta: number, deltaMS: number): void;
3
+ //# sourceMappingURL=updateParticle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateParticle.d.ts","sourceRoot":"","sources":["../../../src/core/particle/updateParticle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAgBpD,wBAAgB,cAAc,CAAC,IAAI,SAAS,YAAY,EACtD,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EACzB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,IAAI,CA2EN"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateParticle = void 0;
4
+ const Vector2Utils_1 = require("../../utils/Vector2Utils");
5
+ const base_behaviors_typeguards_1 = require("../base-behaviors/base-behaviors.typeguards");
6
+ const delta_behavior_1 = require("../base-behaviors/delta-behavior/delta-behavior");
7
+ const scalar_behavior_1 = require("../base-behaviors/scalar-behavior/scalar-behavior");
8
+ const script_behavior_1 = require("../base-behaviors/script-behavior/script-behavior");
9
+ const vector_behavior_1 = require("../base-behaviors/vector-behavior/vector-behavior");
10
+ const color_behavior_typeguards_1 = require("../behaviors/color-behavior/color-behavior.typeguards");
11
+ const color_dynamic_behavior_1 = require("../behaviors/color-behavior/color-dynamic-behavior");
12
+ const life_time_behavior_1 = require("../behaviors/life-time-behavior/life-time-behavior");
13
+ function updateParticle(particle, elapsedDelta, deltaMS) {
14
+ const view = particle.view;
15
+ particle.age = Math.min(particle.lifeTime, particle.age + deltaMS);
16
+ const lifeTimeNormalizedProgress = (0, life_time_behavior_1.getLifeTimeNormalizedProgress)(particle.age, particle.lifeTime);
17
+ if (particle.speedBehavior !== null) {
18
+ if ((0, base_behaviors_typeguards_1.isScalarBehavior)(particle.speedBehavior)) {
19
+ particle.speed = (0, scalar_behavior_1.getScalarBehaviorValue)(particle.speedBehavior, lifeTimeNormalizedProgress);
20
+ }
21
+ else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.speedBehavior)) {
22
+ particle.speed = (0, script_behavior_1.getScriptBehaviorValue)(particle.speedBehavior, lifeTimeNormalizedProgress);
23
+ }
24
+ }
25
+ const speed = particle.speed * elapsedDelta;
26
+ if (particle.usePathFunc) {
27
+ particle.deltaPath.x = particle.deltaPath.x + speed;
28
+ particle.deltaPath.y = particle.pathFunc(particle.deltaPath.x);
29
+ const delta = Vector2Utils_1.Vector2Utils.rotate(particle.deltaPath, -Math.PI / 2);
30
+ view.x = particle.initialPosition.x + delta.x;
31
+ view.y = particle.initialPosition.y + delta.y;
32
+ }
33
+ else if (!particle.useGravity) {
34
+ view.x += particle.direction.x * speed;
35
+ view.y += particle.direction.y * speed;
36
+ }
37
+ else {
38
+ const gravityShift = typeof particle.gravityBehavior === 'number'
39
+ ? particle.gravityBehavior
40
+ : (0, scalar_behavior_1.getScalarBehaviorValue)(particle.gravityBehavior, lifeTimeNormalizedProgress);
41
+ view.x += particle.direction.x * speed;
42
+ view.y += (particle.direction.y + gravityShift) * speed;
43
+ }
44
+ if (particle.alphaBehavior !== null) {
45
+ if ((0, base_behaviors_typeguards_1.isScalarBehavior)(particle.alphaBehavior)) {
46
+ view.alpha = (0, scalar_behavior_1.getScalarBehaviorValue)(particle.alphaBehavior, lifeTimeNormalizedProgress);
47
+ }
48
+ else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.alphaBehavior)) {
49
+ view.alpha = (0, script_behavior_1.getScriptBehaviorValue)(particle.alphaBehavior, lifeTimeNormalizedProgress);
50
+ }
51
+ }
52
+ if (particle.rotationBehavior !== null) {
53
+ if ((0, base_behaviors_typeguards_1.isDeltaBehavior)(particle.rotationBehavior)) {
54
+ view.angle = particle.directionRotation + (0, delta_behavior_1.getDeltaBehaviorValue)(particle.rotationBehavior, elapsedDelta);
55
+ }
56
+ else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.rotationBehavior)) {
57
+ view.angle =
58
+ particle.directionRotation + (0, script_behavior_1.getScriptBehaviorValue)(particle.rotationBehavior, lifeTimeNormalizedProgress);
59
+ }
60
+ else if ((0, base_behaviors_typeguards_1.isScalarBehavior)(particle.rotationBehavior)) {
61
+ view.angle =
62
+ particle.directionRotation + (0, scalar_behavior_1.getScalarBehaviorValue)(particle.rotationBehavior, lifeTimeNormalizedProgress);
63
+ }
64
+ }
65
+ if (particle.scaleBehavior !== null) {
66
+ if ((0, base_behaviors_typeguards_1.isScalarBehavior)(particle.scaleBehavior)) {
67
+ view.scale.x = view.scale.y = (0, scalar_behavior_1.getScalarBehaviorValue)(particle.scaleBehavior, lifeTimeNormalizedProgress);
68
+ }
69
+ else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.scaleBehavior)) {
70
+ view.scale = (0, script_behavior_1.getScriptBehaviorValue)(particle.scaleBehavior, lifeTimeNormalizedProgress);
71
+ }
72
+ else if ((0, base_behaviors_typeguards_1.isVectorBehavior)(particle.scaleBehavior)) {
73
+ view.scale = (0, vector_behavior_1.getVectorBehaviorValue)(particle.scaleBehavior, elapsedDelta);
74
+ }
75
+ }
76
+ if (particle.colorBehavior !== null) {
77
+ if ((0, color_behavior_typeguards_1.isColorDynamicBehavior)(particle.colorBehavior)) {
78
+ view.tint = (0, color_dynamic_behavior_1.getColorDynamicBehaviorValue)(particle.colorBehavior, lifeTimeNormalizedProgress);
79
+ }
80
+ else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.colorBehavior)) {
81
+ view.tint = (0, script_behavior_1.getScriptBehaviorValue)(particle.colorBehavior, lifeTimeNormalizedProgress);
82
+ }
83
+ }
84
+ }
85
+ exports.updateParticle = updateParticle;
86
+ //# sourceMappingURL=updateParticle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateParticle.js","sourceRoot":"","sources":["../../../src/core/particle/updateParticle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, IParticle, ParticleConfig } from '../../types';
2
+ export declare function useParticle<View extends ViewParticle>(particle: IParticle<View>, config: ParticleConfig): void;
3
+ //# sourceMappingURL=useParticle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useParticle.d.ts","sourceRoot":"","sources":["../../../src/core/particle/useParticle.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAE,cAAc,EAAU,MAAM,aAAa,CAAC;AA0B7E,wBAAgB,WAAW,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CA8F9G"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useParticle = void 0;
4
+ const constants_1 = require("../../constants");
5
+ const parsePath_1 = require("../../utils/parsePath");
6
+ const delta_behavior_1 = require("../base-behaviors/delta-behavior/delta-behavior");
7
+ const delta_behavior_typeguards_1 = require("../base-behaviors/delta-behavior/delta-behavior.typeguards");
8
+ const scalar_behavior_1 = require("../base-behaviors/scalar-behavior/scalar-behavior");
9
+ const scalar_behavior_typeguards_1 = require("../base-behaviors/scalar-behavior/scalar-behavior.typeguards");
10
+ const script_behavior_1 = require("../base-behaviors/script-behavior/script-behavior");
11
+ const script_behavior_typeguards_1 = require("../base-behaviors/script-behavior/script-behavior.typeguards");
12
+ const vector_behavior_1 = require("../base-behaviors/vector-behavior/vector-behavior");
13
+ const vector_behavior_typeguards_1 = require("../base-behaviors/vector-behavior/vector-behavior.typeguards");
14
+ const color_behavior_typeguards_1 = require("../behaviors/color-behavior/color-behavior.typeguards");
15
+ const color_dynamic_behavior_1 = require("../behaviors/color-behavior/color-dynamic-behavior");
16
+ const life_time_behavior_1 = require("../behaviors/life-time-behavior/life-time-behavior");
17
+ const getDirection_1 = require("../direction/getDirection");
18
+ const getSpawnPosition_1 = require("../spawn-shapes/getSpawnPosition");
19
+ const getInitialParticleState_1 = require("./getInitialParticleState");
20
+ const updateParticle_1 = require("./updateParticle");
21
+ function useParticle(particle, config) {
22
+ Object.assign(particle, (0, getInitialParticleState_1.getInitialParticleState)());
23
+ particle.inUse = true;
24
+ particle.view.visible = true;
25
+ particle.lifeTime = (0, life_time_behavior_1.getLifeTimeBehavior)(config.lifeTime || constants_1.DEFAULT_LIFE_TIME_CONFIG);
26
+ particle.age = 0;
27
+ particle.initialPosition = config.spawnShape
28
+ ? (0, getSpawnPosition_1.getSpawnPosition)(config.spawnShape, config.spawnPosition)
29
+ : config.spawnPosition || { x: 0, y: 0 };
30
+ particle.view.x = particle.initialPosition.x;
31
+ particle.view.y = particle.initialPosition.y;
32
+ if (config.direction) {
33
+ const direction = (0, getDirection_1.getDirection)(config.direction);
34
+ particle.direction = direction.vector;
35
+ particle.directionRotation = direction.angle;
36
+ particle.view.angle = particle.directionRotation;
37
+ }
38
+ if (config.speed) {
39
+ if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.speed)) {
40
+ particle.speed = (0, scalar_behavior_1.getStaticBehaviorValue)(config.speed);
41
+ }
42
+ else if ((0, script_behavior_typeguards_1.isScriptBehaviorConfig)(config.speed)) {
43
+ particle.speedBehavior = (0, script_behavior_1.getScriptBehavior)(config.speed);
44
+ }
45
+ else if ((0, scalar_behavior_typeguards_1.isScalarBehaviorConfig)(config.speed)) {
46
+ particle.speedBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.speed);
47
+ }
48
+ }
49
+ if (config.alpha) {
50
+ if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.alpha)) {
51
+ particle.view.alpha = (0, scalar_behavior_1.getStaticBehaviorValue)(config.alpha);
52
+ }
53
+ else if ((0, script_behavior_typeguards_1.isScriptBehaviorConfig)(config.alpha)) {
54
+ particle.alphaBehavior = (0, script_behavior_1.getScriptBehavior)(config.alpha);
55
+ }
56
+ else if ((0, scalar_behavior_typeguards_1.isScalarBehaviorConfig)(config.alpha)) {
57
+ particle.alphaBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.alpha);
58
+ }
59
+ }
60
+ if (config.rotation) {
61
+ if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.rotation)) {
62
+ particle.view.angle += (0, scalar_behavior_1.getStaticBehaviorValue)(config.rotation);
63
+ }
64
+ else if ((0, delta_behavior_typeguards_1.isDeltaBehaviorConfig)(config.rotation)) {
65
+ particle.rotationBehavior = (0, delta_behavior_1.getDeltaBehavior)(config.rotation);
66
+ }
67
+ else if ((0, scalar_behavior_typeguards_1.isScalarBehaviorConfig)(config.rotation)) {
68
+ particle.rotationBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.rotation);
69
+ }
70
+ else if ((0, script_behavior_typeguards_1.isScriptBehaviorConfig)(config.rotation)) {
71
+ particle.rotationBehavior = (0, script_behavior_1.getScriptBehavior)(config.rotation);
72
+ }
73
+ }
74
+ if (config.scale) {
75
+ if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.scale)) {
76
+ particle.view.scale.x = particle.view.scale.y = (0, scalar_behavior_1.getStaticBehaviorValue)(config.scale);
77
+ }
78
+ else if ((0, scalar_behavior_typeguards_1.isScalarBehaviorConfig)(config.scale)) {
79
+ particle.scaleBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.scale);
80
+ }
81
+ else if ((0, script_behavior_typeguards_1.isScriptBehaviorConfig)(config.scale)) {
82
+ particle.scaleBehavior = (0, script_behavior_1.getScriptBehavior)(config.scale);
83
+ }
84
+ else if ((0, vector_behavior_typeguards_1.isVectorBehaviorConfig)(config.scale)) {
85
+ particle.scaleBehavior = (0, vector_behavior_1.getVectorBehavior)(config.scale);
86
+ }
87
+ }
88
+ if (config.color) {
89
+ if ((0, color_behavior_typeguards_1.isColorStaticBehaviorConfig)(config.color)) {
90
+ particle.view.tint = (0, color_dynamic_behavior_1.getColorStaticBehaviorValue)(config.color);
91
+ }
92
+ else if ((0, color_behavior_typeguards_1.isColorDynamicBehaviorConfig)(config.color)) {
93
+ particle.colorBehavior = (0, color_dynamic_behavior_1.getColorDynamicBehavior)(config.color);
94
+ }
95
+ else if ((0, color_behavior_typeguards_1.isColorScriptBehaviorConfig)(config.color)) {
96
+ particle.colorBehavior = (0, script_behavior_1.getScriptBehavior)(config.color);
97
+ }
98
+ }
99
+ if (config.gravity) {
100
+ if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.gravity)) {
101
+ particle.gravityBehavior = (0, scalar_behavior_1.getStaticBehaviorValue)(config.gravity);
102
+ particle.useGravity = true;
103
+ }
104
+ else if ((0, scalar_behavior_typeguards_1.isScalarDynamicBehavior)(config.gravity)) {
105
+ particle.gravityBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.gravity);
106
+ particle.useGravity = true;
107
+ }
108
+ }
109
+ if (config.path) {
110
+ particle.pathFunc = (0, parsePath_1.parsePath)(config.path.path);
111
+ particle.usePathFunc = true;
112
+ }
113
+ (0, updateParticle_1.updateParticle)(particle, 0, 0);
114
+ }
115
+ exports.useParticle = useParticle;
116
+ //# sourceMappingURL=useParticle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useParticle.js","sourceRoot":"","sources":["../../../src/core/particle/useParticle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ViewParticle, IParticle } from '../../types';
2
+ export declare function wasParticleRemoved<View extends ViewParticle>(particle: IParticle<View>): boolean;
3
+ //# sourceMappingURL=wasParticleRemoved.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasParticleRemoved.d.ts","sourceRoot":"","sources":["../../../src/core/particle/wasParticleRemoved.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEpD,wBAAgB,kBAAkB,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAEhG"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wasParticleRemoved = void 0;
4
+ function wasParticleRemoved(particle) {
5
+ return particle.view.destroyed;
6
+ }
7
+ exports.wasParticleRemoved = wasParticleRemoved;
8
+ //# sourceMappingURL=wasParticleRemoved.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasParticleRemoved.js","sourceRoot":"","sources":["../../../src/core/particle/wasParticleRemoved.ts"],"names":[],"mappings":";;;AAEA,SAAgB,kBAAkB,CAA4B,QAAyB;IACrF,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACjC,CAAC;AAFD,gDAEC"}
package/lib/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export { ParticleEmitter } from './core/ParticleEmitter';
2
2
  export { ParticleEmitterConfig, ParticleConfig, EmitterConfig, ViewContainer, ViewParticle, Multiplier, Point2d, IParticle, IParticleContainer, RangeValue, } from './types';
3
3
  export { isRangeValue } from './typeguards';
4
- export { isParticleDead, isParticleInUse, noUseParticle } from './core/Particle';
4
+ export { isParticleDead } from './core/particle/isParticleDead';
5
+ export { isParticleInUse } from './core/particle/isParticleInUse';
6
+ export { noUseParticle } from './core/particle/noUseParticle';
5
7
  export { isScriptBehaviorConfig } from './core/base-behaviors/script-behavior/script-behavior.typeguards';
6
8
  export { isVectorBehaviorConfig } from './core/base-behaviors/vector-behavior/vector-behavior.typeguards';
7
9
  export { isScalarDynamicBehavior, isScalarStaticBehavior, isScalarBehaviorConfig, } from './core/base-behaviors/scalar-behavior/scalar-behavior.typeguards';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAI/E,OAAO,EAAC,sBAAsB,EAAC,MAAM,kEAAkE,CAAC;AACxG,OAAO,EAAC,sBAAsB,EAAC,MAAM,kEAAkE,CAAC;AACxG,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EAAC,qBAAqB,EAAC,MAAM,gEAAgE,CAAC;AAGrG,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAC,oBAAoB,EAAE,gBAAgB,EAAC,MAAM,6DAA6D,CAAC;AACnH,OAAO,EAAC,oBAAoB,EAAC,MAAM,6DAA6D,CAAC;AACjG,OAAO,EAAC,mBAAmB,EAAC,MAAM,2DAA2D,CAAC;AAE9F,OAAO,EAAC,mBAAmB,EAAC,MAAM,sDAAsD,CAAC;AACzF,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AAC9G,OAAO,EAAC,+BAA+B,EAAE,8BAA8B,EAAC,MAAM,uCAAuC,CAAC;AACtH,OAAO,EAAC,qBAAqB,EAAC,MAAM,0DAA0D,CAAC;AAC/F,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAC,mBAAmB,EAAC,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAC,sBAAsB,EAAC,MAAM,4DAA4D,CAAC;AAClG,OAAO,EAAC,mBAAmB,EAAC,MAAM,4CAA4C,CAAC;AAE/E,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,cAAc,GACf,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,GACjB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAI5D,OAAO,EAAC,sBAAsB,EAAC,MAAM,kEAAkE,CAAC;AACxG,OAAO,EAAC,sBAAsB,EAAC,MAAM,kEAAkE,CAAC;AACxG,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EAAC,qBAAqB,EAAC,MAAM,gEAAgE,CAAC;AAGrG,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAC,oBAAoB,EAAE,gBAAgB,EAAC,MAAM,6DAA6D,CAAC;AACnH,OAAO,EAAC,oBAAoB,EAAC,MAAM,6DAA6D,CAAC;AACjG,OAAO,EAAC,mBAAmB,EAAC,MAAM,2DAA2D,CAAC;AAE9F,OAAO,EAAC,mBAAmB,EAAC,MAAM,sDAAsD,CAAC;AACzF,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AAC9G,OAAO,EAAC,+BAA+B,EAAE,8BAA8B,EAAC,MAAM,uCAAuC,CAAC;AACtH,OAAO,EAAC,qBAAqB,EAAC,MAAM,0DAA0D,CAAC;AAC/F,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAC,mBAAmB,EAAC,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAC,sBAAsB,EAAC,MAAM,4DAA4D,CAAC;AAClG,OAAO,EAAC,mBAAmB,EAAC,MAAM,4CAA4C,CAAC;AAE/E,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,cAAc,GACf,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,GACjB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC"}
package/lib/index.js CHANGED
@@ -5,10 +5,12 @@ var ParticleEmitter_1 = require("./core/ParticleEmitter");
5
5
  Object.defineProperty(exports, "ParticleEmitter", { enumerable: true, get: function () { return ParticleEmitter_1.ParticleEmitter; } });
6
6
  var typeguards_1 = require("./typeguards");
7
7
  Object.defineProperty(exports, "isRangeValue", { enumerable: true, get: function () { return typeguards_1.isRangeValue; } });
8
- var Particle_1 = require("./core/Particle");
9
- Object.defineProperty(exports, "isParticleDead", { enumerable: true, get: function () { return Particle_1.isParticleDead; } });
10
- Object.defineProperty(exports, "isParticleInUse", { enumerable: true, get: function () { return Particle_1.isParticleInUse; } });
11
- Object.defineProperty(exports, "noUseParticle", { enumerable: true, get: function () { return Particle_1.noUseParticle; } });
8
+ var isParticleDead_1 = require("./core/particle/isParticleDead");
9
+ Object.defineProperty(exports, "isParticleDead", { enumerable: true, get: function () { return isParticleDead_1.isParticleDead; } });
10
+ var isParticleInUse_1 = require("./core/particle/isParticleInUse");
11
+ Object.defineProperty(exports, "isParticleInUse", { enumerable: true, get: function () { return isParticleInUse_1.isParticleInUse; } });
12
+ var noUseParticle_1 = require("./core/particle/noUseParticle");
13
+ Object.defineProperty(exports, "noUseParticle", { enumerable: true, get: function () { return noUseParticle_1.noUseParticle; } });
12
14
  var script_behavior_typeguards_1 = require("./core/base-behaviors/script-behavior/script-behavior.typeguards");
13
15
  Object.defineProperty(exports, "isScriptBehaviorConfig", { enumerable: true, get: function () { return script_behavior_typeguards_1.isScriptBehaviorConfig; } });
14
16
  var vector_behavior_typeguards_1 = require("./core/base-behaviors/vector-behavior/vector-behavior.typeguards");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,0DAAuD;AAA/C,kHAAA,eAAe,OAAA;AAcvB,2CAA0C;AAAlC,0GAAA,YAAY,OAAA;AACpB,4CAA+E;AAAvE,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,yGAAA,aAAa,OAAA;AAItD,+GAAwG;AAAhG,oIAAA,sBAAsB,OAAA;AAC9B,+GAAwG;AAAhG,oIAAA,sBAAsB,OAAA;AAC9B,+GAI0E;AAHxE,qIAAA,uBAAuB,OAAA;AACvB,oIAAA,sBAAsB,OAAA;AACtB,oIAAA,sBAAsB,OAAA;AAExB,4GAAqG;AAA7F,kIAAA,qBAAqB,OAAA;AAkB7B,uGAImE;AAHjE,wIAAA,2BAA2B,OAAA;AAC3B,yIAAA,4BAA4B,OAAA;AAC5B,wIAAA,2BAA2B,OAAA;AAG7B,8EAAsH;AAA9G,uIAAA,+BAA+B,OAAA;AAAE,sIAAA,8BAA8B,OAAA;AAOvE,mHAG2E;AAFzE,+IAAA,8BAA8B,OAAA;AAC9B,8IAAA,6BAA6B,OAAA;AAQ/B,6EASgD;AAH9C,oHAAA,cAAc,OAAA;AAIhB,uFAMqD;AALnD,iIAAA,sBAAsB,OAAA;AACtB,4HAAA,iBAAiB,OAAA;AACjB,gIAAA,qBAAqB,OAAA;AACrB,uHAAA,YAAY,OAAA;AACZ,2HAAA,gBAAgB,OAAA;AAGlB,4DAAuE;AAA/D,0GAAA,UAAU,OAAA;AAClB,oEAAiE;AAAzD,oHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,0DAAuD;AAA/C,kHAAA,eAAe,OAAA;AAcvB,2CAA0C;AAAlC,0GAAA,YAAY,OAAA;AACpB,iEAA8D;AAAtD,gHAAA,cAAc,OAAA;AACtB,mEAAgE;AAAxD,kHAAA,eAAe,OAAA;AACvB,+DAA4D;AAApD,8GAAA,aAAa,OAAA;AAIrB,+GAAwG;AAAhG,oIAAA,sBAAsB,OAAA;AAC9B,+GAAwG;AAAhG,oIAAA,sBAAsB,OAAA;AAC9B,+GAI0E;AAHxE,qIAAA,uBAAuB,OAAA;AACvB,oIAAA,sBAAsB,OAAA;AACtB,oIAAA,sBAAsB,OAAA;AAExB,4GAAqG;AAA7F,kIAAA,qBAAqB,OAAA;AAkB7B,uGAImE;AAHjE,wIAAA,2BAA2B,OAAA;AAC3B,yIAAA,4BAA4B,OAAA;AAC5B,wIAAA,2BAA2B,OAAA;AAG7B,8EAAsH;AAA9G,uIAAA,+BAA+B,OAAA;AAAE,sIAAA,8BAA8B,OAAA;AAOvE,mHAG2E;AAFzE,+IAAA,8BAA8B,OAAA;AAC9B,8IAAA,6BAA6B,OAAA;AAQ/B,6EASgD;AAH9C,oHAAA,cAAc,OAAA;AAIhB,uFAMqD;AALnD,iIAAA,sBAAsB,OAAA;AACtB,4HAAA,iBAAiB,OAAA;AACjB,gIAAA,qBAAqB,OAAA;AACrB,uHAAA,YAAY,OAAA;AACZ,2HAAA,gBAAgB,OAAA;AAGlB,4DAAuE;AAA/D,0GAAA,UAAU,OAAA;AAClB,oEAAiE;AAAzD,oHAAA,gBAAgB,OAAA"}
package/lib/types.d.ts CHANGED
@@ -49,6 +49,7 @@ export interface IParticle<View extends ViewParticle> {
49
49
  speed: number;
50
50
  deltaPath: Point2d;
51
51
  initialPosition: Point2d;
52
+ directionRotation: number;
52
53
  direction: Point2d;
53
54
  speedBehavior: ScalarBehavior | ScriptBehavior<number> | null;
54
55
  pathFunc: PathFunction | null;
@@ -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.6.0",
3
+ "version": "0.6.2",
4
4
  "main": "lib/index.js",
5
5
  "license": "UNLICENSED",
6
6
  "files": [
@@ -1,11 +0,0 @@
1
- import { IParticle, ParticleConfig, ViewContainer, ViewParticle, ViewRenderFn } from '../types';
2
- export declare function createUnusedParticle<View extends ViewParticle>(viewContainer: ViewContainer<View>, view: View): IParticle<View>;
3
- export declare function removeParticle<View extends ViewParticle>(viewContainer: ViewContainer<View>, particle: IParticle<View>): void;
4
- export declare function useParticle<View extends ViewParticle>(particle: IParticle<View>, config: ParticleConfig): void;
5
- export declare function updateParticle<View extends ViewParticle>(particle: IParticle<View>, elapsedDelta: number, deltaMS: number): void;
6
- export declare function noUseParticle<View extends ViewParticle>(particle: IParticle<View>): void;
7
- export declare function isParticleInUse<View extends ViewParticle>(particle: IParticle<View>): boolean;
8
- export declare function createView<View extends ViewParticle>(viewFactory: ViewRenderFn<View> | ViewRenderFn<View>[]): View;
9
- export declare function isParticleDead<View extends ViewParticle>(particle: IParticle<View>): boolean;
10
- export declare function wasParticleRemoved<View extends ViewParticle>(particle: IParticle<View>): boolean;
11
- //# sourceMappingURL=Particle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Particle.d.ts","sourceRoot":"","sources":["../../src/core/Particle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,cAAc,EAAW,aAAa,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;AAoEvG,wBAAgB,oBAAoB,CAAC,IAAI,SAAS,YAAY,EAC5D,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,EAClC,IAAI,EAAE,IAAI,GACT,SAAS,CAAC,IAAI,CAAC,CAQjB;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAS,YAAY,EACtD,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GACxB,IAAI,CAEN;AAED,wBAAgB,WAAW,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CA2F9G;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAS,YAAY,EACtD,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EACzB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,IAAI,CAyEN;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAGxF;AAED,wBAAgB,eAAe,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAE7F;AAED,wBAAgB,UAAU,CAAC,IAAI,SAAS,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAElH;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAE5F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAEhG"}
@@ -1,241 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wasParticleRemoved = exports.isParticleDead = exports.createView = exports.isParticleInUse = exports.noUseParticle = exports.updateParticle = exports.useParticle = exports.removeParticle = exports.createUnusedParticle = void 0;
4
- const scalar_behavior_typeguards_1 = require("./base-behaviors/scalar-behavior/scalar-behavior.typeguards");
5
- const script_behavior_typeguards_1 = require("./base-behaviors/script-behavior/script-behavior.typeguards");
6
- const getDirection_1 = require("./direction/getDirection");
7
- const RealRandom_1 = require("../utils/random/RealRandom");
8
- const Vector2Utils_1 = require("../utils/Vector2Utils");
9
- const delta_behavior_typeguards_1 = require("./base-behaviors/delta-behavior/delta-behavior.typeguards");
10
- const vector_behavior_typeguards_1 = require("./base-behaviors/vector-behavior/vector-behavior.typeguards");
11
- const color_behavior_typeguards_1 = require("./behaviors/color-behavior/color-behavior.typeguards");
12
- const parsePath_1 = require("../utils/parsePath");
13
- const getSpawnPosition_1 = require("./spawn-shapes/getSpawnPosition");
14
- const constants_1 = require("../constants");
15
- const life_time_behavior_1 = require("./behaviors/life-time-behavior/life-time-behavior");
16
- const script_behavior_1 = require("./base-behaviors/script-behavior/script-behavior");
17
- const scalar_behavior_1 = require("./base-behaviors/scalar-behavior/scalar-behavior");
18
- const delta_behavior_1 = require("./base-behaviors/delta-behavior/delta-behavior");
19
- const vector_behavior_1 = require("./base-behaviors/vector-behavior/vector-behavior");
20
- const color_dynamic_behavior_1 = require("./behaviors/color-behavior/color-dynamic-behavior");
21
- const base_behaviors_typeguards_1 = require("./base-behaviors/base-behaviors.typeguards");
22
- function getInitialParticleState() {
23
- return {
24
- speed: 0,
25
- deltaPath: { x: 0, y: 0 },
26
- initialPosition: { x: 0, y: 0 },
27
- direction: { x: 0, y: 0 },
28
- speedBehavior: null,
29
- gravityBehavior: 0,
30
- pathFunc: null,
31
- usePathFunc: false,
32
- useGravity: false,
33
- next: null,
34
- prev: null,
35
- inUse: false,
36
- age: 0,
37
- lifeTime: 0,
38
- alphaBehavior: null,
39
- rotationBehavior: null,
40
- scaleBehavior: null,
41
- colorBehavior: null,
42
- };
43
- }
44
- function createUnusedParticle(viewContainer, view) {
45
- viewContainer.addChild(view);
46
- view.visible = false;
47
- return {
48
- view,
49
- ...getInitialParticleState(),
50
- };
51
- }
52
- exports.createUnusedParticle = createUnusedParticle;
53
- function removeParticle(viewContainer, particle) {
54
- viewContainer.removeChild(particle.view);
55
- }
56
- exports.removeParticle = removeParticle;
57
- function useParticle(particle, config) {
58
- Object.assign(particle, getInitialParticleState());
59
- particle.inUse = true;
60
- particle.view.visible = true;
61
- particle.lifeTime = (0, life_time_behavior_1.getLifeTimeBehavior)(config.lifeTime || constants_1.DEFAULT_LIFE_TIME_CONFIG);
62
- particle.age = 0;
63
- particle.initialPosition = config.spawnShape
64
- ? (0, getSpawnPosition_1.getSpawnPosition)(config.spawnShape, config.spawnPosition)
65
- : config.spawnPosition || { x: 0, y: 0 };
66
- particle.view.x = particle.initialPosition.x;
67
- particle.view.y = particle.initialPosition.y;
68
- if (config.direction) {
69
- particle.direction = (0, getDirection_1.getDirection)(config.direction);
70
- }
71
- if (config.speed) {
72
- if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.speed)) {
73
- particle.speed = (0, scalar_behavior_1.getStaticBehaviorValue)(config.speed);
74
- }
75
- else if ((0, script_behavior_typeguards_1.isScriptBehaviorConfig)(config.speed)) {
76
- particle.speedBehavior = (0, script_behavior_1.getScriptBehavior)(config.speed);
77
- }
78
- else if ((0, scalar_behavior_typeguards_1.isScalarBehaviorConfig)(config.speed)) {
79
- particle.speedBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.speed);
80
- }
81
- }
82
- if (config.alpha) {
83
- if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.alpha)) {
84
- particle.view.alpha = (0, scalar_behavior_1.getStaticBehaviorValue)(config.alpha);
85
- }
86
- else if ((0, script_behavior_typeguards_1.isScriptBehaviorConfig)(config.alpha)) {
87
- particle.alphaBehavior = (0, script_behavior_1.getScriptBehavior)(config.alpha);
88
- }
89
- else if ((0, scalar_behavior_typeguards_1.isScalarBehaviorConfig)(config.alpha)) {
90
- particle.alphaBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.alpha);
91
- }
92
- }
93
- if (config.rotation) {
94
- if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.rotation)) {
95
- particle.view.angle = (0, scalar_behavior_1.getStaticBehaviorValue)(config.rotation);
96
- }
97
- else if ((0, delta_behavior_typeguards_1.isDeltaBehaviorConfig)(config.rotation)) {
98
- particle.rotationBehavior = (0, delta_behavior_1.getDeltaBehavior)(config.rotation);
99
- }
100
- else if ((0, scalar_behavior_typeguards_1.isScalarBehaviorConfig)(config.rotation)) {
101
- particle.rotationBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.rotation);
102
- }
103
- else if ((0, script_behavior_typeguards_1.isScriptBehaviorConfig)(config.rotation)) {
104
- particle.rotationBehavior = (0, script_behavior_1.getScriptBehavior)(config.rotation);
105
- }
106
- }
107
- if (config.scale) {
108
- if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.scale)) {
109
- particle.view.scale.x = particle.view.scale.y = (0, scalar_behavior_1.getStaticBehaviorValue)(config.scale);
110
- }
111
- else if ((0, scalar_behavior_typeguards_1.isScalarBehaviorConfig)(config.scale)) {
112
- particle.scaleBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.scale);
113
- }
114
- else if ((0, script_behavior_typeguards_1.isScriptBehaviorConfig)(config.scale)) {
115
- particle.scaleBehavior = (0, script_behavior_1.getScriptBehavior)(config.scale);
116
- }
117
- else if ((0, vector_behavior_typeguards_1.isVectorBehaviorConfig)(config.scale)) {
118
- particle.scaleBehavior = (0, vector_behavior_1.getVectorBehavior)(config.scale);
119
- }
120
- }
121
- if (config.color) {
122
- if ((0, color_behavior_typeguards_1.isColorStaticBehaviorConfig)(config.color)) {
123
- particle.view.tint = (0, color_dynamic_behavior_1.getColorStaticBehaviorValue)(config.color);
124
- }
125
- else if ((0, color_behavior_typeguards_1.isColorDynamicBehaviorConfig)(config.color)) {
126
- particle.colorBehavior = (0, color_dynamic_behavior_1.getColorDynamicBehavior)(config.color);
127
- }
128
- else if ((0, color_behavior_typeguards_1.isColorScriptBehaviorConfig)(config.color)) {
129
- particle.colorBehavior = (0, script_behavior_1.getScriptBehavior)(config.color);
130
- }
131
- }
132
- if (config.gravity) {
133
- if ((0, scalar_behavior_typeguards_1.isScalarStaticBehavior)(config.gravity)) {
134
- particle.gravityBehavior = (0, scalar_behavior_1.getStaticBehaviorValue)(config.gravity);
135
- particle.useGravity = true;
136
- }
137
- else if ((0, scalar_behavior_typeguards_1.isScalarDynamicBehavior)(config.gravity)) {
138
- particle.gravityBehavior = (0, scalar_behavior_1.getScalarBehavior)(config.gravity);
139
- particle.useGravity = true;
140
- }
141
- }
142
- if (config.path) {
143
- particle.pathFunc = (0, parsePath_1.parsePath)(config.path.path);
144
- particle.usePathFunc = true;
145
- }
146
- updateParticle(particle, 0, 0);
147
- }
148
- exports.useParticle = useParticle;
149
- function updateParticle(particle, elapsedDelta, deltaMS) {
150
- const view = particle.view;
151
- particle.age = Math.min(particle.lifeTime, particle.age + deltaMS);
152
- const lifeTimeNormalizedProgress = (0, life_time_behavior_1.getLifeTimeNormalizedProgress)(particle.age, particle.lifeTime);
153
- if (particle.speedBehavior !== null) {
154
- if ((0, base_behaviors_typeguards_1.isScalarBehavior)(particle.speedBehavior)) {
155
- particle.speed = (0, scalar_behavior_1.getScalarBehaviorValue)(particle.speedBehavior, lifeTimeNormalizedProgress);
156
- }
157
- else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.speedBehavior)) {
158
- particle.speed = (0, script_behavior_1.getScriptBehaviorValue)(particle.speedBehavior, lifeTimeNormalizedProgress);
159
- }
160
- }
161
- const speed = particle.speed * elapsedDelta;
162
- if (particle.usePathFunc) {
163
- particle.deltaPath.x = particle.deltaPath.x + speed;
164
- particle.deltaPath.y = particle.pathFunc(particle.deltaPath.x);
165
- const delta = Vector2Utils_1.Vector2Utils.rotate(particle.deltaPath, -Math.PI / 2);
166
- view.x = particle.initialPosition.x + delta.x;
167
- view.y = particle.initialPosition.y + delta.y;
168
- }
169
- else if (!particle.useGravity) {
170
- view.x += particle.direction.x * speed;
171
- view.y += particle.direction.y * speed;
172
- }
173
- else {
174
- const gravityShift = typeof particle.gravityBehavior === 'number'
175
- ? particle.gravityBehavior
176
- : (0, scalar_behavior_1.getScalarBehaviorValue)(particle.gravityBehavior, lifeTimeNormalizedProgress);
177
- view.x += particle.direction.x * speed;
178
- view.y += (particle.direction.y + gravityShift) * speed;
179
- }
180
- if (particle.alphaBehavior !== null) {
181
- if ((0, base_behaviors_typeguards_1.isScalarBehavior)(particle.alphaBehavior)) {
182
- view.alpha = (0, scalar_behavior_1.getScalarBehaviorValue)(particle.alphaBehavior, lifeTimeNormalizedProgress);
183
- }
184
- else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.alphaBehavior)) {
185
- view.alpha = (0, script_behavior_1.getScriptBehaviorValue)(particle.alphaBehavior, lifeTimeNormalizedProgress);
186
- }
187
- }
188
- if (particle.rotationBehavior !== null) {
189
- if ((0, base_behaviors_typeguards_1.isDeltaBehavior)(particle.rotationBehavior)) {
190
- view.angle = (0, delta_behavior_1.getDeltaBehaviorValue)(particle.rotationBehavior, elapsedDelta);
191
- }
192
- else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.rotationBehavior)) {
193
- view.angle = (0, script_behavior_1.getScriptBehaviorValue)(particle.rotationBehavior, lifeTimeNormalizedProgress);
194
- }
195
- else if ((0, base_behaviors_typeguards_1.isScalarBehavior)(particle.rotationBehavior)) {
196
- view.angle = (0, scalar_behavior_1.getScalarBehaviorValue)(particle.rotationBehavior, lifeTimeNormalizedProgress);
197
- }
198
- }
199
- if (particle.scaleBehavior !== null) {
200
- if ((0, base_behaviors_typeguards_1.isScalarBehavior)(particle.scaleBehavior)) {
201
- view.scale.x = view.scale.y = (0, scalar_behavior_1.getScalarBehaviorValue)(particle.scaleBehavior, lifeTimeNormalizedProgress);
202
- }
203
- else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.scaleBehavior)) {
204
- view.scale = (0, script_behavior_1.getScriptBehaviorValue)(particle.scaleBehavior, lifeTimeNormalizedProgress);
205
- }
206
- else if ((0, base_behaviors_typeguards_1.isVectorBehavior)(particle.scaleBehavior)) {
207
- view.scale = (0, vector_behavior_1.getVectorBehaviorValue)(particle.scaleBehavior, elapsedDelta);
208
- }
209
- }
210
- if (particle.colorBehavior !== null) {
211
- if ((0, color_behavior_typeguards_1.isColorDynamicBehavior)(particle.colorBehavior)) {
212
- view.tint = (0, color_dynamic_behavior_1.getColorDynamicBehaviorValue)(particle.colorBehavior, lifeTimeNormalizedProgress);
213
- }
214
- else if ((0, base_behaviors_typeguards_1.isScriptBehavior)(particle.colorBehavior)) {
215
- view.tint = (0, script_behavior_1.getScriptBehaviorValue)(particle.colorBehavior, lifeTimeNormalizedProgress);
216
- }
217
- }
218
- }
219
- exports.updateParticle = updateParticle;
220
- function noUseParticle(particle) {
221
- particle.view.visible = false;
222
- particle.inUse = false;
223
- }
224
- exports.noUseParticle = noUseParticle;
225
- function isParticleInUse(particle) {
226
- return particle.inUse;
227
- }
228
- exports.isParticleInUse = isParticleInUse;
229
- function createView(viewFactory) {
230
- return Array.isArray(viewFactory) ? RealRandom_1.realRandom.choice(viewFactory)() : viewFactory();
231
- }
232
- exports.createView = createView;
233
- function isParticleDead(particle) {
234
- return particle.age === particle.lifeTime;
235
- }
236
- exports.isParticleDead = isParticleDead;
237
- function wasParticleRemoved(particle) {
238
- return particle.view.destroyed;
239
- }
240
- exports.wasParticleRemoved = wasParticleRemoved;
241
- //# sourceMappingURL=Particle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Particle.js","sourceRoot":"","sources":["../../src/core/Particle.ts"],"names":[],"mappings":"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"}