custom-pixi-particles 5.0.2 → 5.1.1

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 (34) hide show
  1. package/README.md +86 -13
  2. package/dist/lib/Particle.d.ts +1 -1
  3. package/dist/lib/behaviour/AngularVelocityBehaviour.d.ts +1 -1
  4. package/dist/lib/behaviour/AngularVelocityBehaviour.js +15 -9
  5. package/dist/lib/behaviour/AngularVelocityBehaviour.js.map +1 -1
  6. package/dist/lib/behaviour/ColorBehaviour.d.ts +0 -4
  7. package/dist/lib/behaviour/ColorBehaviour.js +7 -14
  8. package/dist/lib/behaviour/ColorBehaviour.js.map +1 -1
  9. package/dist/lib/behaviour/EmitDirectionBehaviour.js +3 -2
  10. package/dist/lib/behaviour/EmitDirectionBehaviour.js.map +1 -1
  11. package/dist/lib/behaviour/LifeBehaviour.js +6 -5
  12. package/dist/lib/behaviour/LifeBehaviour.js.map +1 -1
  13. package/dist/lib/behaviour/PositionBehaviour.js +27 -23
  14. package/dist/lib/behaviour/PositionBehaviour.js.map +1 -1
  15. package/dist/lib/behaviour/RotationBehaviour.js +4 -0
  16. package/dist/lib/behaviour/RotationBehaviour.js.map +1 -1
  17. package/dist/lib/behaviour/SizeBehaviour.js +24 -13
  18. package/dist/lib/behaviour/SizeBehaviour.js.map +1 -1
  19. package/dist/lib/behaviour/TurbulenceBehaviour.d.ts +5 -5
  20. package/dist/lib/behaviour/TurbulenceBehaviour.js +8 -6
  21. package/dist/lib/behaviour/TurbulenceBehaviour.js.map +1 -1
  22. package/dist/lib/emission/StandardEmission.d.ts +24 -23
  23. package/dist/lib/emission/StandardEmission.js +35 -34
  24. package/dist/lib/emission/StandardEmission.js.map +1 -1
  25. package/dist/lib/emitter/Emitter.d.ts +1 -1
  26. package/dist/lib/emitter/Emitter.js +2 -2
  27. package/dist/lib/emitter/Emitter.js.map +1 -1
  28. package/dist/lib/parser/EmitterParser.d.ts +2 -1
  29. package/dist/lib/parser/EmitterParser.js +5 -2
  30. package/dist/lib/parser/EmitterParser.js.map +1 -1
  31. package/dist/lib/pixi/Renderer.d.ts +11 -5
  32. package/dist/lib/pixi/Renderer.js +49 -21
  33. package/dist/lib/pixi/Renderer.js.map +1 -1
  34. package/package.json +10 -8
package/README.md CHANGED
@@ -1,21 +1,35 @@
1
1
  # CustomPIXIParticles by [@lukasz-okuniewicz](http://github.com/lukasz-okuniewicz)
2
2
 
3
- Custom PIXI Particles.
3
+ CustomPIXIParticles is a lightweight and flexible library for creating and managing particle effects in PIXI.js applications. It provides a simple API for defining particle emitters, textures, and configurations, allowing developers to create a wide range of visual effects with ease.
4
4
 
5
- Editor for particles: [custom-pixi-particles-editor](https://github.com/lukasz-okuniewicz/custom-pixi-particles-editor)
5
+ ### Features
6
+ * Easy-to-use API: Create particle emitters with just a few lines of code
7
+ * Flexible configuration: Customize particle behavior, appearance, and animation
8
+ * High performance: Render particles efficiently without impacting application performance
9
+ * Compatible with PIXI.js v7: Works seamlessly with the latest version of PIXI.js
10
+
11
+ ### Versions Compatibility
12
+
13
+ | PixiJS | CustomPIXIParticles |
14
+ |---|---|
15
+ | v5.x - v6.x | v4.x |
16
+ | v7.x | v5.x |
6
17
 
7
- How to use:
18
+ ### Demo
19
+ [custom-pixi-particles](http://particles.okuniewicz.eu/)
20
+
21
+ #### Installation:
8
22
 
9
23
  ```
10
24
  npm install custom-pixi-particles
11
25
  ```
12
26
 
13
- then:
14
-
27
+ #### Usage:
28
+ Import or require the library:
15
29
  ```javascript
16
- const customPIXIParticles = require('custom-pixi-particles')
30
+ const customPixiParticles = require('custom-pixi-particles')
17
31
  // or
18
- import customPIXIParticles from 'custom-pixi-particles'
32
+ import customPixiParticles from 'custom-pixi-particles'
19
33
  ```
20
34
 
21
35
  ```javascript
@@ -31,8 +45,29 @@ this.particles.play()
31
45
  container.addChild(this.particles)
32
46
  ```
33
47
 
48
+ ### API Reference
49
+ `create`
50
+ ```javascript
51
+ // All possible params which can be passed during particles creation
52
+ this.particles = customPixiParticles.create({
53
+ textures: [String],
54
+ animatedSpriteZeroPad: Number,
55
+ animatedSpriteIndexToStart: Number,
56
+ emitterConfig: Object,
57
+ finishingTextures: [String],
58
+ vertices: Boolean,
59
+ position: Boolean,
60
+ rotation: Boolean,
61
+ uvs: Boolean,
62
+ tint: Boolean,
63
+ maxParticles: Number,
64
+ maxFPS: Number,
65
+ tickerSpeed: Number,
66
+ })
67
+ ```
68
+
34
69
  ```javascript
35
- // On complete
70
+ // Callback function called when the particle animation completes.
36
71
  this.particles.onComplete = () => {
37
72
  //...
38
73
  }
@@ -41,13 +76,51 @@ this.particles.onComplete = () => {
41
76
  ```javascript
42
77
  // Define array of new textures
43
78
  const newTextures = ['texture3.png', 'texture4.png']
44
- // Change textures
79
+ // Updates the particle emitter's textures.
45
80
  this.particles.setTextures(newTextures)
46
81
  ```
47
82
 
48
83
  ```javascript
49
- // Update config
50
- emitController.duration = 3
51
- emitController._emitPerSecond = 200
52
- this.particles.updateConfig(emitterConfig)
84
+ // Updates the particle emitter's configuration.
85
+ this.particles.updateConfig({
86
+ // Update emitter configuration properties
87
+ })
53
88
  ```
89
+
90
+ ```javascript
91
+ // Sets the paused state
92
+ pause(isPaused)
93
+
94
+ // Starts the emitter
95
+ start()
96
+
97
+ // Resets the particle emitters in this class without removing existing particles and plays them
98
+ play()
99
+
100
+ // Immediately stops emitting particles
101
+ stopImmediately()
102
+
103
+ // Destroy particles
104
+ destroy()
105
+
106
+ // Terminates the emitter
107
+ stop()
108
+
109
+ // Resets the emitters to their initial state
110
+ resetEmitter()
111
+
112
+ // Update textures used by the emitter
113
+ setTextures(textures)
114
+
115
+ // Updates the configuration of the emitter
116
+ updateConfig(config, resetDuration = true)
117
+
118
+ // Updates the position of the emitter
119
+ updatePosition(position, resetDuration = true)
120
+
121
+ // Clear pools
122
+ clearPool()
123
+ ```
124
+
125
+ ### Additional Resources
126
+ Editor for particles: [custom-pixi-particles-editor](https://github.com/lukasz-okuniewicz/custom-pixi-particles-editor)
@@ -1,4 +1,4 @@
1
- import { Sprite } from 'pixi.js';
1
+ import { Sprite } from 'pixi.js-legacy';
2
2
  import { Color, Point } from './util';
3
3
  /**
4
4
  * Represents a particle object used in particle system simulations
@@ -7,6 +7,7 @@ import Particle from '../Particle';
7
7
  * @extends {Behaviour}
8
8
  */
9
9
  export default class AngularVelocityBehaviour extends Behaviour {
10
+ protected priority: number;
10
11
  private enabled;
11
12
  private degrees;
12
13
  private degreesVariance;
@@ -14,7 +15,6 @@ export default class AngularVelocityBehaviour extends Behaviour {
14
15
  private maxRadiusVariance;
15
16
  private minRadius;
16
17
  private minRadiusVariance;
17
- protected priority: number;
18
18
  /**
19
19
  * Initializes particle properties of the behaviour
20
20
  *
@@ -10,6 +10,7 @@ import BehaviourNames from './BehaviourNames';
10
10
  export default class AngularVelocityBehaviour extends Behaviour {
11
11
  constructor() {
12
12
  super(...arguments);
13
+ this.priority = 100;
13
14
  this.enabled = false;
14
15
  this.degrees = 0;
15
16
  this.degreesVariance = 0;
@@ -17,7 +18,6 @@ export default class AngularVelocityBehaviour extends Behaviour {
17
18
  this.maxRadiusVariance = 0;
18
19
  this.minRadius = 0;
19
20
  this.minRadiusVariance = 0;
20
- this.priority = 100;
21
21
  /**
22
22
  * Initializes particle properties of the behaviour
23
23
  *
@@ -26,11 +26,12 @@ export default class AngularVelocityBehaviour extends Behaviour {
26
26
  */
27
27
  this.init = (particle) => {
28
28
  particle.radiansPerSecond = math.degreesToRadians(this.degrees + this.varianceFrom(this.degreesVariance));
29
- particle.radiusStart = this.maxRadius + this.varianceFrom(this.maxRadiusVariance);
29
+ const radiusStart = this.maxRadius + this.varianceFrom(this.maxRadiusVariance);
30
+ particle.radiusStart = radiusStart;
30
31
  particle.radiusEnd = this.minRadius + this.varianceFrom(this.minRadiusVariance);
31
32
  particle.x = 0;
32
33
  particle.y = 0;
33
- particle.radius = particle.radiusStart;
34
+ particle.radius = radiusStart;
34
35
  particle.angle = 0;
35
36
  };
36
37
  /**
@@ -41,12 +42,17 @@ export default class AngularVelocityBehaviour extends Behaviour {
41
42
  * @memberof AngularVelocityBehaviour
42
43
  */
43
44
  this.apply = (particle, deltaTime) => {
44
- particle.velocityAngle += particle.radiansPerSecond * deltaTime;
45
- particle.radius = particle.radiusStart + (particle.radiusEnd - particle.radiusStart) * particle.lifeProgress;
46
- particle.movement.x = Math.cos(particle.velocityAngle) * particle.radius;
47
- particle.movement.y = Math.sin(particle.velocityAngle) * particle.radius;
48
- particle.x = particle.movement.x;
49
- particle.y = particle.movement.y;
45
+ const { radiusStart, radiusEnd, radiansPerSecond, lifeProgress } = particle;
46
+ const velocityAngle = particle.velocityAngle + radiansPerSecond * deltaTime;
47
+ const radius = radiusStart + (radiusEnd - radiusStart) * lifeProgress;
48
+ const movementX = Math.cos(velocityAngle) * radius;
49
+ const movementY = Math.sin(velocityAngle) * radius;
50
+ particle.velocityAngle = velocityAngle;
51
+ particle.radius = radius;
52
+ particle.movement.x = movementX;
53
+ particle.movement.y = movementY;
54
+ particle.x = movementX;
55
+ particle.y = movementY;
50
56
  };
51
57
  }
52
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AngularVelocityBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/AngularVelocityBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAG7C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,SAAS;IAA/D;;QACU,YAAO,GAAY,KAAK,CAAA;QACxB,YAAO,GAAW,CAAC,CAAA;QACnB,oBAAe,GAAW,CAAC,CAAA;QAC3B,cAAS,GAAW,CAAC,CAAA;QACrB,sBAAiB,GAAW,CAAC,CAAA;QAC7B,cAAS,GAAW,CAAC,CAAA;QACrB,sBAAiB,GAAW,CAAC,CAAA;QAC3B,aAAQ,GAAW,GAAG,CAAA;QAEhC;;;;;WAKG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;YACzG,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YACjF,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAE/E,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;YACd,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;YACd,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAA;YACtC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAA;QACpB,CAAC,CAAA;QAED;;;;;;WAMG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,EAAE;YAChD,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,gBAAgB,GAAG,SAAS,CAAA;YAC/D,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAA;YAE5G,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;YACxE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;YAExE,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;YAChC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QAClC,CAAC,CAAA;IA+BH,CAAC;IA7BC;;;;;OAKG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,iBAAiB,CAAA;IACzC,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"AngularVelocityBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/AngularVelocityBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAG7C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,SAAS;IAA/D;;QACY,aAAQ,GAAW,GAAG,CAAA;QACxB,YAAO,GAAY,KAAK,CAAA;QACxB,YAAO,GAAW,CAAC,CAAA;QACnB,oBAAe,GAAW,CAAC,CAAA;QAC3B,cAAS,GAAW,CAAC,CAAA;QACrB,sBAAiB,GAAW,CAAC,CAAA;QAC7B,cAAS,GAAW,CAAC,CAAA;QACrB,sBAAiB,GAAW,CAAC,CAAA;QAErC;;;;;WAKG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;YACzG,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAC9E,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAA;YAClC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAE/E,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;YACd,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;YACd,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAA;YAC7B,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAA;QACpB,CAAC,CAAA;QAED;;;;;;WAMG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,EAAE;YAChD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAA;YAC3E,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,GAAG,gBAAgB,GAAG,SAAS,CAAA;YAC3E,MAAM,MAAM,GAAG,WAAW,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,YAAY,CAAA;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAA;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAA;YAElD,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAA;YACtC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;YACxB,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;YAC/B,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;YAC/B,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;YACtB,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;QACxB,CAAC,CAAA;IA+BH,CAAC;IA7BC;;;;;OAKG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,iBAAiB,CAAA;IACzC,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
@@ -9,10 +9,6 @@ export default class ColorBehaviour extends Behaviour {
9
9
  startVariance: Color;
10
10
  endVariance: Color;
11
11
  sinus: boolean;
12
- _rDiff: number;
13
- _gDiff: number;
14
- _bDiff: number;
15
- _aDiff: number;
16
12
  init: (particle: Particle) => void;
17
13
  apply: (particle: Particle) => void;
18
14
  getName(): string;
@@ -11,10 +11,6 @@ export default class ColorBehaviour extends Behaviour {
11
11
  this.startVariance = new Color(0, 0, 0, 0);
12
12
  this.endVariance = new Color(0, 0, 0, 0);
13
13
  this.sinus = false;
14
- this._rDiff = 0;
15
- this._gDiff = 0;
16
- this._bDiff = 0;
17
- this._aDiff = 0;
18
14
  this.init = (particle) => {
19
15
  particle.colorStart.copyFrom(this.start);
20
16
  particle.colorStart.r += this.varianceFrom(this.startVariance.r);
@@ -27,21 +23,18 @@ export default class ColorBehaviour extends Behaviour {
27
23
  particle.colorEnd.b += this.varianceFrom(this.endVariance.b);
28
24
  particle.colorEnd.alpha += this.varianceFrom(this.endVariance.alpha);
29
25
  particle.color.copyFrom(particle.colorStart);
30
- this._rDiff = particle.colorEnd.r - particle.colorStart.r;
31
- this._gDiff = particle.colorEnd.g - particle.colorStart.g;
32
- this._bDiff = particle.colorEnd.b - particle.colorStart.b;
33
- this._aDiff = particle.colorEnd.alpha - particle.colorStart.alpha;
34
26
  };
35
27
  this.apply = (particle) => {
36
- particle.color.copyFrom(particle.colorStart);
37
- particle.color.r += this._rDiff * particle.lifeProgress;
38
- particle.color.g += this._gDiff * particle.lifeProgress;
39
- particle.color.b += this._bDiff * particle.lifeProgress;
28
+ const { colorStart, lifeProgress, colorEnd } = particle;
29
+ particle.color.copyFrom(colorStart);
30
+ particle.color.r += (colorEnd.r - colorStart.r) * lifeProgress;
31
+ particle.color.g += (colorEnd.g - colorStart.g) * lifeProgress;
32
+ particle.color.b += (colorEnd.b - colorStart.b) * lifeProgress;
40
33
  if (!this.sinus) {
41
- particle.color.alpha += this._aDiff * particle.lifeProgress;
34
+ particle.color.alpha += (colorEnd.alpha - colorStart.alpha) * lifeProgress;
42
35
  }
43
36
  else {
44
- particle.color.alpha = Math.sin(particle.lifeProgress * 3.1);
37
+ particle.color.alpha = Math.sin(lifeProgress * 3.1);
45
38
  }
46
39
  };
47
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ColorBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/ColorBehaviour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/ColorBehaviour.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,9 @@ export default class EmitDirectionBehaviour extends Behaviour {
32
32
  * @memberof EmitDirectionBehaviour
33
33
  */
34
34
  this.apply = (particle) => {
35
- _tmp = particle.directionCos * particle.x - particle.directionSin * particle.y;
36
- particle.y = particle.directionSin * particle.x + particle.directionCos * particle.y;
35
+ const { x, y, directionSin, directionCos } = particle;
36
+ _tmp = directionCos * x - directionSin * y;
37
+ particle.y = directionSin * x + directionCos * y;
37
38
  particle.x = _tmp;
38
39
  };
39
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EmitDirectionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/EmitDirectionBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAG7C,IAAI,IAAI,GAAG,CAAC,CAAA;AAEZ;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,SAAS;IAA7D;;QACE,YAAO,GAAG,IAAI,CAAA;QACd,aAAQ,GAAG,CAAC,CAAA;QACZ,UAAK,GAAG,CAAC,CAAA;QACT,aAAQ,GAAG,CAAC,CAAA;QAEZ;;;;WAIG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAChD,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAClD,CAAC,CAAA;QAED;;;;;WAKG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC7B,IAAI,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAA;YAC9E,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAA;YACpF,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAA;QACnB,CAAC,CAAA;IAyBH,CAAC;IAvBC;;;;OAIG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,cAAc,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"EmitDirectionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/EmitDirectionBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAG7C,IAAI,IAAI,GAAG,CAAC,CAAA;AAEZ;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,SAAS;IAA7D;;QACE,YAAO,GAAG,IAAI,CAAA;QACd,aAAQ,GAAG,CAAC,CAAA;QACZ,UAAK,GAAG,CAAC,CAAA;QACT,aAAQ,GAAG,CAAC,CAAA;QAEZ;;;;WAIG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAChD,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAClD,CAAC,CAAA;QAED;;;;;WAKG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC7B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAA;YAErD,IAAI,GAAG,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAA;YAC1C,QAAQ,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAA;YAChD,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAA;QACnB,CAAC,CAAA;IAyBH,CAAC;IAvBC;;;;OAIG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,cAAc,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
@@ -41,8 +41,7 @@ export default class LifeBehaviour extends Behaviour {
41
41
  this.init = (particle) => {
42
42
  particle.lifeTime = 0;
43
43
  particle.lifeProgress = 0;
44
- particle.maxLifeTime = this.maxLifeTime + this.varianceFrom(this.timeVariance);
45
- particle.maxLifeTime = Math.max(particle.maxLifeTime, 0.0);
44
+ particle.maxLifeTime = Math.max(this.maxLifeTime + this.varianceFrom(this.timeVariance), 0.0);
46
45
  };
47
46
  /**
48
47
  * Updates the particle's life time and progress.
@@ -52,9 +51,11 @@ export default class LifeBehaviour extends Behaviour {
52
51
  * @returns {void}
53
52
  */
54
53
  this.apply = (particle, deltaTime) => {
55
- particle.lifeTime += deltaTime;
56
- if (particle.maxLifeTime > 0) {
57
- particle.lifeProgress = Math.min(1.0, particle.lifeTime / particle.maxLifeTime);
54
+ const { maxLifeTime } = particle;
55
+ const lifeTime = particle.lifeTime + deltaTime;
56
+ particle.lifeTime = lifeTime;
57
+ if (maxLifeTime > 0) {
58
+ particle.lifeProgress = Math.min(1.0, lifeTime / maxLifeTime);
58
59
  }
59
60
  };
60
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LifeBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/LifeBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGnD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAS;IAApD;;QACE;;;;WAIG;QACH,YAAO,GAAG,IAAI,CAAA;QAEd;;;;WAIG;QACH,aAAQ,GAAG,KAAK,CAAA;QAEhB;;;;WAIG;QACH,gBAAW,GAAG,CAAC,CAAA;QAEf;;;;WAIG;QACH,iBAAY,GAAG,CAAC,CAAA;QAEhB;;;;;WAKG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAA;YACrB,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAA;YAEzB,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC9E,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAC5D,CAAC,CAAA;QAED;;;;;;WAMG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,EAAE;YAChD,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAA;YAE9B,IAAI,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE;gBAC5B,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;aAChF;QACH,CAAC,CAAA;IAyBH,CAAC;IAvBC;;;;OAIG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,cAAc,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"LifeBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/LifeBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGnD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAS;IAApD;;QACE;;;;WAIG;QACH,YAAO,GAAG,IAAI,CAAA;QAEd;;;;WAIG;QACH,aAAQ,GAAG,KAAK,CAAA;QAEhB;;;;WAIG;QACH,gBAAW,GAAG,CAAC,CAAA;QAEf;;;;WAIG;QACH,iBAAY,GAAG,CAAC,CAAA;QAEhB;;;;;WAKG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAA;YACrB,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAA;YACzB,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAA;QAC/F,CAAC,CAAA;QAED;;;;;;WAMG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,EAAE;YAChD,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAA;YAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;YAE9C,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAE5B,IAAI,WAAW,GAAG,CAAC,EAAE;gBACnB,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAA;aAC9D;QACH,CAAC,CAAA;IAyBH,CAAC;IAvBC;;;;OAIG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,cAAc,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
@@ -81,6 +81,7 @@ export default class PositionBehaviour extends Behaviour {
81
81
  this.restartWarp = (particle, initial, model) => {
82
82
  if (!this.warp)
83
83
  return;
84
+ const { sizeStart } = particle;
84
85
  if (initial) {
85
86
  particle.z = Math.random() * this.warpDistanceScaleConverter;
86
87
  }
@@ -89,8 +90,8 @@ export default class PositionBehaviour extends Behaviour {
89
90
  }
90
91
  const distance = Math.random() * this.positionVariance.x + 1;
91
92
  const deg = Math.random() * (Math.PI * 2);
92
- particle.warpSizeStart.x = (1 - distance / this.positionVariance.x) * 0.5 * particle.sizeStart.x;
93
- particle.warpSizeStart.y = (1 - distance / this.positionVariance.y) * 0.5 * particle.sizeStart.y;
93
+ particle.warpSizeStart.x = (1 - distance / this.positionVariance.x) * 0.5 * sizeStart.x;
94
+ particle.warpSizeStart.y = (1 - distance / this.positionVariance.y) * 0.5 * sizeStart.y;
94
95
  if (this.warpDistanceToCenter) {
95
96
  particle.movement.x = Math.cos(deg) * distance;
96
97
  particle.movement.y = Math.sin(deg) * distance;
@@ -117,40 +118,43 @@ export default class PositionBehaviour extends Behaviour {
117
118
  * @param {Model} model - The model containing information about the particle's movement
118
119
  */
119
120
  this.apply = (particle, deltaTime, model) => {
120
- particle.velocity.x += particle.acceleration.x * deltaTime;
121
- particle.velocity.y += particle.acceleration.y * deltaTime;
122
- particle.movement.x += particle.velocity.x * deltaTime;
123
- particle.movement.y += particle.velocity.y * deltaTime;
121
+ const { acceleration, sinXVal, sinYVal, z, warpSizeStart, movement } = particle;
122
+ const { cameraZ } = model;
123
+ const PI = Math.PI;
124
+ particle.velocity.x += acceleration.x * deltaTime;
125
+ particle.velocity.y += acceleration.y * deltaTime;
126
+ const movementX = movement.x + particle.velocity.x * deltaTime;
127
+ const movementY = movement.y + particle.velocity.y * deltaTime;
128
+ particle.movement.x = movementX;
129
+ particle.movement.y = movementY;
124
130
  if (this.sinX) {
125
- particle.x =
126
- particle.movement.x + Math.sin(Math.PI * (particle.movement.y / particle.sinXVal.x)) * particle.sinXVal.y;
131
+ particle.x = movementX + Math.sin(PI * (movementY / sinXVal.x)) * sinXVal.y;
127
132
  }
128
133
  else {
129
- particle.x = particle.movement.x;
134
+ particle.x = movementX;
130
135
  }
131
136
  if (this.sinY) {
132
- particle.y =
133
- particle.movement.y + Math.sin(Math.PI * (particle.movement.x / particle.sinYVal.x)) * particle.sinYVal.y;
137
+ particle.y = movementY + Math.sin(PI * (movementX / sinYVal.x)) * sinYVal.y;
134
138
  }
135
139
  else {
136
- particle.y = particle.movement.y;
140
+ particle.y = movementY;
137
141
  }
138
142
  if (model.warp) {
139
- if (particle.z < model.cameraZ) {
143
+ if (z < cameraZ) {
140
144
  this.restartWarp(particle, false, model);
141
145
  }
142
- const z = particle.z - model.cameraZ;
143
- const dxCenter = particle.movement.x;
144
- const dyCenter = particle.movement.y;
146
+ const newZ = z - cameraZ;
147
+ const dxCenter = movementX;
148
+ const dyCenter = movementY;
145
149
  const distanceCenter = Math.sqrt(dxCenter * dxCenter + dyCenter * dyCenter);
146
- const distanceScale = Math.max(0, (this.warpDistanceScaleConverter - z) / this.warpDistanceScaleConverter);
147
- const fovZ = this.warpFov / z;
148
- particle.x = particle.movement.x * fovZ;
149
- particle.y = particle.movement.y * fovZ;
150
- particle.size.x = distanceScale * particle.warpSizeStart.x;
150
+ const distanceScale = Math.max(0, (this.warpDistanceScaleConverter - newZ) / this.warpDistanceScaleConverter);
151
+ const fovZ = this.warpFov / newZ;
152
+ particle.x = movementX * fovZ;
153
+ particle.y = movementY * fovZ;
154
+ particle.size.x = distanceScale * warpSizeStart.x;
151
155
  particle.size.y =
152
- distanceScale * particle.warpSizeStart.y + distanceScale * this.warpSpeed * this.warpStretch * distanceCenter;
153
- particle.rotation = Math.atan2(dyCenter, dxCenter) + Math.PI / 2;
156
+ distanceScale * warpSizeStart.y + distanceScale * this.warpSpeed * this.warpStretch * distanceCenter;
157
+ particle.rotation = Math.atan2(dyCenter, dxCenter) + PI / 2;
154
158
  }
155
159
  };
156
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PositionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/PositionBehaviour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PositionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/PositionBehaviour.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ export default class RotationBehaviour extends Behaviour {
27
27
  * @param {Particle} particle - The particle to be initialised
28
28
  */
29
29
  this.init = (particle) => {
30
+ if (!this.enabled)
31
+ return;
30
32
  particle.rotationDelta = this.rotation + this.varianceFrom(this.variance);
31
33
  };
32
34
  /**
@@ -35,6 +37,8 @@ export default class RotationBehaviour extends Behaviour {
35
37
  * @param {number} deltaTime - The delta time of the runtime
36
38
  */
37
39
  this.apply = (particle, deltaTime) => {
40
+ if (!this.enabled)
41
+ return;
38
42
  particle.rotation += particle.rotationDelta * deltaTime;
39
43
  };
40
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RotationBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/RotationBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGnD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,SAAS;IAAxD;;QACE;;WAEG;QACH,YAAO,GAAG,KAAK,CAAA;QAEf;;WAEG;QACH,aAAQ,GAAG,CAAC,CAAA;QAEZ;;WAEG;QACH,aAAQ,GAAG,CAAC,CAAA;QAEZ;;WAEG;QACH,aAAQ,GAAG,CAAC,CAAA;QAEZ;;;WAGG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3E,CAAC,CAAA;QAED;;;;WAIG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,EAAE;YAChD,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;QACzD,CAAC,CAAA;IAuBH,CAAC;IArBC;;;OAGG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,kBAAkB,CAAA;IAC1C,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"RotationBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/RotationBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGnD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,SAAS;IAAxD;;QACE;;WAEG;QACH,YAAO,GAAG,KAAK,CAAA;QAEf;;WAEG;QACH,aAAQ,GAAG,CAAC,CAAA;QAEZ;;WAEG;QACH,aAAQ,GAAG,CAAC,CAAA;QAEZ;;WAEG;QACH,aAAQ,GAAG,CAAC,CAAA;QAEZ;;;WAGG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAM;YACzB,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3E,CAAC,CAAA;QAED;;;;WAIG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAM;YACzB,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;QACzD,CAAC,CAAA;IAuBH,CAAC;IArBC;;;OAGG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,kBAAkB,CAAA;IAC1C,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
@@ -12,27 +12,38 @@ export default class SizeBehaviour extends Behaviour {
12
12
  this.endVariance = 0;
13
13
  this.init = (particle) => {
14
14
  let variance = this.varianceFrom(this.startVariance);
15
- particle.sizeStart.x = this.sizeStart.x + variance;
16
- particle.sizeStart.y = this.sizeStart.y + variance;
15
+ let sizeStartX = this.sizeStart.x + variance;
16
+ let sizeStartY = this.sizeStart.y + variance;
17
17
  variance = this.varianceFrom(this.endVariance);
18
- particle.sizeEnd.x = this.sizeEnd.x + variance;
19
- particle.sizeEnd.y = this.sizeEnd.y + variance;
18
+ let sizeEndX = this.sizeEnd.x + variance;
19
+ let sizeEndY = this.sizeEnd.y + variance;
20
20
  if (!this.allowNegativeValues) {
21
- particle.sizeStart.x = Math.max(particle.sizeStart.x, 0);
22
- particle.sizeStart.y = Math.max(particle.sizeStart.y, 0);
23
- particle.sizeEnd.x = Math.max(particle.sizeEnd.x, 0);
24
- particle.sizeEnd.y = Math.max(particle.sizeEnd.y, 0);
21
+ sizeStartX = Math.max(sizeStartX, 0);
22
+ sizeStartY = Math.max(sizeStartY, 0);
23
+ sizeEndX = Math.max(sizeEndX, 0);
24
+ sizeEndY = Math.max(sizeEndY, 0);
25
25
  }
26
+ particle.sizeDifference = {
27
+ x: sizeEndX - sizeStartX,
28
+ y: sizeEndY - sizeStartY,
29
+ };
30
+ particle.sizeStart.x = sizeStartX;
31
+ particle.sizeStart.y = sizeStartY;
32
+ particle.sizeEnd.x = sizeEndX;
33
+ particle.sizeEnd.y = sizeEndY;
26
34
  particle.size.copyFrom(particle.sizeStart);
27
35
  };
28
36
  this.apply = (particle) => {
29
- particle.size.copyFrom(particle.sizeStart);
30
- particle.size.x += (particle.sizeEnd.x - particle.sizeStart.x) * particle.lifeProgress;
31
- particle.size.y += (particle.sizeEnd.y - particle.sizeStart.y) * particle.lifeProgress;
37
+ const { sizeStart, lifeProgress, sizeDifference, size } = particle;
38
+ particle.size.copyFrom(sizeStart);
39
+ let sizeX = size.x + sizeDifference.x * lifeProgress;
40
+ let sizeY = size.y + sizeDifference.y * lifeProgress;
32
41
  if (!this.allowNegativeValues) {
33
- particle.size.x = Math.max(0, particle.size.x);
34
- particle.size.x = Math.max(0, particle.size.x);
42
+ sizeX = Math.max(0, sizeX);
43
+ sizeY = Math.max(0, sizeY);
35
44
  }
45
+ particle.size.x = sizeX;
46
+ particle.size.y = sizeY;
36
47
  };
37
48
  }
38
49
  getName() {
@@ -1 +1 @@
1
- {"version":3,"file":"SizeBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SizeBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGnD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAS;IAApD;;QACE,YAAO,GAAG,IAAI,CAAA;QACd,aAAQ,GAAG,CAAC,CAAA;QACZ,wBAAmB,GAAG,KAAK,CAAA;QAC3B,cAAS,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,YAAO,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACzB,kBAAa,GAAG,CAAC,CAAA;QACjB,gBAAW,GAAG,CAAC,CAAA;QAEf,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACpD,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAA;YAClD,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAA;YAElD,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAA;YAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAA;YAE9C,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC7B,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACxD,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACxD,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACpD,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;aACrD;YAED,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC,CAAA;QAED,UAAK,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC7B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC1C,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAA;YACtF,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAA;YAEtF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC9C,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aAC/C;QACH,CAAC,CAAA;IAwBH,CAAC;IAtBC,OAAO;QACL,OAAO,cAAc,CAAC,cAAc,CAAA;IACtC,CAAC;IAED,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,SAAS,EAAE;gBACT,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACpB;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACpB;YACD,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"SizeBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SizeBehaviour.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,6 @@ import { Point } from '../util';
4
4
  import TurbulencePool from '../util/turbulencePool';
5
5
  import Model from '../Model';
6
6
  export default class TurbulenceBehaviour extends Behaviour {
7
- private enabled;
8
- private showVortices;
9
- private effect;
10
- private turbulence;
11
- private vortexOrgSize;
12
7
  position: Point;
13
8
  positionVariance: Point;
14
9
  velocity: Point;
@@ -23,6 +18,11 @@ export default class TurbulenceBehaviour extends Behaviour {
23
18
  duration: number;
24
19
  maxLifeTime: number;
25
20
  turbulencePool: TurbulencePool;
21
+ private enabled;
22
+ private showVortices;
23
+ private effect;
24
+ private turbulence;
25
+ private vortexOrgSize;
26
26
  init: (particle: Particle, model: Model, turbulencePool: TurbulencePool) => void;
27
27
  apply: (particle: Particle) => void;
28
28
  getName(): string;