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.
- package/README.md +86 -13
- package/dist/lib/Particle.d.ts +1 -1
- package/dist/lib/behaviour/AngularVelocityBehaviour.d.ts +1 -1
- package/dist/lib/behaviour/AngularVelocityBehaviour.js +15 -9
- package/dist/lib/behaviour/AngularVelocityBehaviour.js.map +1 -1
- package/dist/lib/behaviour/ColorBehaviour.d.ts +0 -4
- package/dist/lib/behaviour/ColorBehaviour.js +7 -14
- package/dist/lib/behaviour/ColorBehaviour.js.map +1 -1
- package/dist/lib/behaviour/EmitDirectionBehaviour.js +3 -2
- package/dist/lib/behaviour/EmitDirectionBehaviour.js.map +1 -1
- package/dist/lib/behaviour/LifeBehaviour.js +6 -5
- package/dist/lib/behaviour/LifeBehaviour.js.map +1 -1
- package/dist/lib/behaviour/PositionBehaviour.js +27 -23
- package/dist/lib/behaviour/PositionBehaviour.js.map +1 -1
- package/dist/lib/behaviour/RotationBehaviour.js +4 -0
- package/dist/lib/behaviour/RotationBehaviour.js.map +1 -1
- package/dist/lib/behaviour/SizeBehaviour.js +24 -13
- package/dist/lib/behaviour/SizeBehaviour.js.map +1 -1
- package/dist/lib/behaviour/TurbulenceBehaviour.d.ts +5 -5
- package/dist/lib/behaviour/TurbulenceBehaviour.js +8 -6
- package/dist/lib/behaviour/TurbulenceBehaviour.js.map +1 -1
- package/dist/lib/emission/StandardEmission.d.ts +24 -23
- package/dist/lib/emission/StandardEmission.js +35 -34
- package/dist/lib/emission/StandardEmission.js.map +1 -1
- package/dist/lib/emitter/Emitter.d.ts +1 -1
- package/dist/lib/emitter/Emitter.js +2 -2
- package/dist/lib/emitter/Emitter.js.map +1 -1
- package/dist/lib/parser/EmitterParser.d.ts +2 -1
- package/dist/lib/parser/EmitterParser.js +5 -2
- package/dist/lib/parser/EmitterParser.js.map +1 -1
- package/dist/lib/pixi/Renderer.d.ts +11 -5
- package/dist/lib/pixi/Renderer.js +49 -21
- package/dist/lib/pixi/Renderer.js.map +1 -1
- package/package.json +10 -8
|
@@ -4,11 +4,6 @@ import { Point } from '../util';
|
|
|
4
4
|
export default class TurbulenceBehaviour extends Behaviour {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
|
-
this.enabled = false;
|
|
8
|
-
this.showVortices = false;
|
|
9
|
-
this.effect = 0;
|
|
10
|
-
this.turbulence = false;
|
|
11
|
-
this.vortexOrgSize = 128;
|
|
12
7
|
this.position = new Point();
|
|
13
8
|
this.positionVariance = new Point();
|
|
14
9
|
this.velocity = new Point();
|
|
@@ -22,6 +17,11 @@ export default class TurbulenceBehaviour extends Behaviour {
|
|
|
22
17
|
this.emitPerSecond = 0;
|
|
23
18
|
this.duration = 0;
|
|
24
19
|
this.maxLifeTime = 0;
|
|
20
|
+
this.enabled = false;
|
|
21
|
+
this.showVortices = false;
|
|
22
|
+
this.effect = 0;
|
|
23
|
+
this.turbulence = false;
|
|
24
|
+
this.vortexOrgSize = 128;
|
|
25
25
|
this.init = (particle, model, turbulencePool) => {
|
|
26
26
|
particle.showVortices = this.showVortices;
|
|
27
27
|
particle.turbulence = this.turbulence;
|
|
@@ -31,7 +31,9 @@ export default class TurbulenceBehaviour extends Behaviour {
|
|
|
31
31
|
if (particle.turbulence)
|
|
32
32
|
return;
|
|
33
33
|
this.turbulencePool.list.forEach((vortex) => {
|
|
34
|
-
let vx = 0
|
|
34
|
+
let vx = 0;
|
|
35
|
+
let vy = 0;
|
|
36
|
+
let factor = 0;
|
|
35
37
|
const dx = particle.x - vortex.x;
|
|
36
38
|
const dy = particle.y - vortex.y;
|
|
37
39
|
if (dx > this.vortexOrgSize * vortex.size.x)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TurbulenceBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/TurbulenceBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAI/B,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IAA1D;;
|
|
1
|
+
{"version":3,"file":"TurbulenceBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/TurbulenceBehaviour.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,37 +2,40 @@ import { AbstractEmission } from './index';
|
|
|
2
2
|
/**
|
|
3
3
|
* The StandardEmission class is an abstract class extending from AbstractEmission.
|
|
4
4
|
*
|
|
5
|
-
* It provides methods for calculating the number of particles emitted
|
|
5
|
+
* It provides methods for calculating the number of particles emitted
|
|
6
|
+
* in an interval of time and setting/getting the emission rate and maximum number of particles.
|
|
6
7
|
*
|
|
7
8
|
* @abstract
|
|
8
9
|
*/
|
|
9
10
|
export default class StandardEmission extends AbstractEmission {
|
|
10
11
|
/**
|
|
11
|
-
* The
|
|
12
|
+
* The emitCounter field stores the counter for emission rate.
|
|
12
13
|
* @private
|
|
13
14
|
* @type {number}
|
|
14
15
|
*/
|
|
15
|
-
|
|
16
|
+
_emitCounter: number;
|
|
16
17
|
/**
|
|
17
|
-
* The
|
|
18
|
+
* The maxParticles field stores the maximum number of particles allowed to be emitted.
|
|
18
19
|
* @private
|
|
19
20
|
* @type {number}
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
+
_maxParticles: number;
|
|
22
23
|
/**
|
|
23
|
-
*
|
|
24
|
-
* @
|
|
25
|
-
* @type {number}
|
|
24
|
+
* Getter for the maxParticles field.
|
|
25
|
+
* @return {number} - The maximum number of particles allowed to be emitted.
|
|
26
26
|
*/
|
|
27
|
-
|
|
27
|
+
get maxParticles(): number;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* @param {number} deltaTime - The amount of time elapsed since the last emission.
|
|
32
|
-
* @param {number} particlesCount - The current number of particles.
|
|
33
|
-
* @return {number} - The number of particles to be emitted.
|
|
29
|
+
* Setter for the maxParticles field.
|
|
30
|
+
* @param {number} value - The new maximum number of particles allowed to be emitted.
|
|
34
31
|
*/
|
|
35
|
-
|
|
32
|
+
set maxParticles(value: number);
|
|
33
|
+
/**
|
|
34
|
+
* The emissionRate field stores the current rate of emission.
|
|
35
|
+
* @private
|
|
36
|
+
* @type {number}
|
|
37
|
+
*/
|
|
38
|
+
_emissionRate: number;
|
|
36
39
|
/**
|
|
37
40
|
* Getter for the emissionRate field.
|
|
38
41
|
* @return {number} - The current emission rate.
|
|
@@ -44,15 +47,13 @@ export default class StandardEmission extends AbstractEmission {
|
|
|
44
47
|
*/
|
|
45
48
|
set emissionRate(value: number);
|
|
46
49
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
* Setter for the maxParticles field.
|
|
53
|
-
* @param {number} value - The new maximum number of particles allowed to be emitted.
|
|
50
|
+
* howMany() calculates how many particles should be emitted in the given interval of time.
|
|
51
|
+
*
|
|
52
|
+
* @param {number} deltaTime - The amount of time elapsed since the last emission.
|
|
53
|
+
* @param {number} particlesCount - The current number of particles.
|
|
54
|
+
* @return {number} - The number of particles to be emitted.
|
|
54
55
|
*/
|
|
55
|
-
|
|
56
|
+
howMany(deltaTime: number, particlesCount: number): number;
|
|
56
57
|
/**
|
|
57
58
|
* GetName() returns the type of the emission.
|
|
58
59
|
* @return {EmissionTypes} - The type of the emission.
|
|
@@ -2,7 +2,8 @@ import { AbstractEmission, EmissionTypes } from './index';
|
|
|
2
2
|
/**
|
|
3
3
|
* The StandardEmission class is an abstract class extending from AbstractEmission.
|
|
4
4
|
*
|
|
5
|
-
* It provides methods for calculating the number of particles emitted
|
|
5
|
+
* It provides methods for calculating the number of particles emitted
|
|
6
|
+
* in an interval of time and setting/getting the emission rate and maximum number of particles.
|
|
6
7
|
*
|
|
7
8
|
* @abstract
|
|
8
9
|
*/
|
|
@@ -10,23 +11,23 @@ export default class StandardEmission extends AbstractEmission {
|
|
|
10
11
|
constructor() {
|
|
11
12
|
super(...arguments);
|
|
12
13
|
/**
|
|
13
|
-
* The
|
|
14
|
+
* The emitCounter field stores the counter for emission rate.
|
|
14
15
|
* @private
|
|
15
16
|
* @type {number}
|
|
16
17
|
*/
|
|
17
|
-
this.
|
|
18
|
+
this._emitCounter = 0;
|
|
18
19
|
/**
|
|
19
|
-
* The
|
|
20
|
+
* The maxParticles field stores the maximum number of particles allowed to be emitted.
|
|
20
21
|
* @private
|
|
21
22
|
* @type {number}
|
|
22
23
|
*/
|
|
23
|
-
this.
|
|
24
|
+
this._maxParticles = 0;
|
|
24
25
|
/**
|
|
25
|
-
* The
|
|
26
|
+
* The emissionRate field stores the current rate of emission.
|
|
26
27
|
* @private
|
|
27
28
|
* @type {number}
|
|
28
29
|
*/
|
|
29
|
-
this.
|
|
30
|
+
this._emissionRate = 0;
|
|
30
31
|
/**
|
|
31
32
|
* GetName() returns the type of the emission.
|
|
32
33
|
* @return {EmissionTypes} - The type of the emission.
|
|
@@ -36,23 +37,18 @@ export default class StandardEmission extends AbstractEmission {
|
|
|
36
37
|
};
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* @param {number} deltaTime - The amount of time elapsed since the last emission.
|
|
42
|
-
* @param {number} particlesCount - The current number of particles.
|
|
43
|
-
* @return {number} - The number of particles to be emitted.
|
|
40
|
+
* Getter for the maxParticles field.
|
|
41
|
+
* @return {number} - The maximum number of particles allowed to be emitted.
|
|
44
42
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
return count;
|
|
43
|
+
get maxParticles() {
|
|
44
|
+
return this._maxParticles;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Setter for the maxParticles field.
|
|
48
|
+
* @param {number} value - The new maximum number of particles allowed to be emitted.
|
|
49
|
+
*/
|
|
50
|
+
set maxParticles(value) {
|
|
51
|
+
this._maxParticles = Math.max(0, value);
|
|
56
52
|
}
|
|
57
53
|
/**
|
|
58
54
|
* Getter for the emissionRate field.
|
|
@@ -69,18 +65,23 @@ export default class StandardEmission extends AbstractEmission {
|
|
|
69
65
|
this._emissionRate = Math.max(0, value);
|
|
70
66
|
}
|
|
71
67
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Setter for the maxParticles field.
|
|
80
|
-
* @param {number} value - The new maximum number of particles allowed to be emitted.
|
|
68
|
+
* howMany() calculates how many particles should be emitted in the given interval of time.
|
|
69
|
+
*
|
|
70
|
+
* @param {number} deltaTime - The amount of time elapsed since the last emission.
|
|
71
|
+
* @param {number} particlesCount - The current number of particles.
|
|
72
|
+
* @return {number} - The number of particles to be emitted.
|
|
81
73
|
*/
|
|
82
|
-
|
|
83
|
-
|
|
74
|
+
howMany(deltaTime, particlesCount) {
|
|
75
|
+
const rate = 1.0 / this.emissionRate;
|
|
76
|
+
let count = 0;
|
|
77
|
+
if (particlesCount < this.maxParticles) {
|
|
78
|
+
this._emitCounter += deltaTime;
|
|
79
|
+
}
|
|
80
|
+
while (particlesCount < this.maxParticles && this._emitCounter > rate) {
|
|
81
|
+
count++;
|
|
82
|
+
this._emitCounter -= rate;
|
|
83
|
+
}
|
|
84
|
+
return count;
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
//# sourceMappingURL=StandardEmission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardEmission.js","sourceRoot":"","sources":["../../../src/lib/emission/StandardEmission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEzD
|
|
1
|
+
{"version":3,"file":"StandardEmission.js","sourceRoot":"","sources":["../../../src/lib/emission/StandardEmission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEzD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,gBAAgB;IAA9D;;QACE;;;;WAIG;QACH,iBAAY,GAAG,CAAC,CAAA;QAEhB;;;;WAIG;QACH,kBAAa,GAAG,CAAC,CAAA;QAkBjB;;;;WAIG;QACH,kBAAa,GAAG,CAAC,CAAA;QAwCjB;;;WAGG;QACH,YAAO,GAAG,GAAG,EAAE;YACb,OAAO,aAAa,CAAC,OAAO,CAAA;QAC9B,CAAC,CAAA;IACH,CAAC;IApEC;;;OAGG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY,CAAC,KAAa;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IASD;;;OAGG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY,CAAC,KAAa;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,SAAiB,EAAE,cAAsB;QAC/C,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAA;QACpC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE;YACtC,IAAI,CAAC,YAAY,IAAI,SAAS,CAAA;SAC/B;QAED,OAAO,cAAc,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE;YACrE,KAAK,EAAE,CAAA;YACP,IAAI,CAAC,YAAY,IAAI,IAAI,CAAA;SAC1B;QAED,OAAO,KAAK,CAAA;IACd,CAAC;CASF"}
|
|
@@ -4,7 +4,7 @@ import eventemitter3 from 'eventemitter3';
|
|
|
4
4
|
import { EmitterParser } from '../parser';
|
|
5
5
|
import List from '../util/List';
|
|
6
6
|
import Particle from '../Particle';
|
|
7
|
-
import { BLEND_MODES } from 'pixi.js';
|
|
7
|
+
import { BLEND_MODES } from 'pixi.js-legacy';
|
|
8
8
|
import Model from '../Model';
|
|
9
9
|
import TurbulencePool from '../util/turbulencePool';
|
|
10
10
|
export default class Emitter extends eventemitter3 {
|
|
@@ -14,7 +14,7 @@ import ParticlePool from '../ParticlePool';
|
|
|
14
14
|
import { EmitterParser } from '../parser';
|
|
15
15
|
import List from '../util/List';
|
|
16
16
|
import * as emission from '../emission';
|
|
17
|
-
import { BLEND_MODES } from 'pixi.js';
|
|
17
|
+
import { BLEND_MODES } from 'pixi.js-legacy';
|
|
18
18
|
import TurbulencePool from '../util/turbulencePool';
|
|
19
19
|
export default class Emitter extends eventemitter3 {
|
|
20
20
|
constructor(model) {
|
|
@@ -23,7 +23,7 @@ export default class Emitter extends eventemitter3 {
|
|
|
23
23
|
this.duration = new Duration();
|
|
24
24
|
this.alpha = 1;
|
|
25
25
|
this.anchor = { x: 0.5, y: 0.5 };
|
|
26
|
-
this.blendMode = BLEND_MODES.
|
|
26
|
+
this.blendMode = BLEND_MODES.NORMAL;
|
|
27
27
|
this.behaviours = new EmitterBehaviours();
|
|
28
28
|
this.turbulencePool = new TurbulencePool();
|
|
29
29
|
this._model = model;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../../src/lib/emitter/Emitter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,aAAa,MAAM,eAAe,CAAA;AACzC,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,IAAI,MAAM,cAAc,CAAA;AAC/B,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../../src/lib/emitter/Emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,9 +35,10 @@ export default class EmitterParser {
|
|
|
35
35
|
* @description Updates the emitter configuration from a json object
|
|
36
36
|
* @param {Object} config - the emitter configuration
|
|
37
37
|
* @param {Model} model - the model to be updated
|
|
38
|
+
* @param {boolean} resetDuration - should duration be reset
|
|
38
39
|
* @returns {Emitter} - the emitter
|
|
39
40
|
*/
|
|
40
|
-
update: (config: any, model: Model) => Emitter;
|
|
41
|
+
update: (config: any, model: Model, resetDuration: boolean) => Emitter;
|
|
41
42
|
/**
|
|
42
43
|
* Retrieves an existing behaviour or creates a new behaviour
|
|
43
44
|
* @param {string} name - The name of the behaviour to retreive or create
|
|
@@ -85,9 +85,10 @@ export default class EmitterParser {
|
|
|
85
85
|
* @description Updates the emitter configuration from a json object
|
|
86
86
|
* @param {Object} config - the emitter configuration
|
|
87
87
|
* @param {Model} model - the model to be updated
|
|
88
|
+
* @param {boolean} resetDuration - should duration be reset
|
|
88
89
|
* @returns {Emitter} - the emitter
|
|
89
90
|
*/
|
|
90
|
-
this.update = (config, model) => {
|
|
91
|
+
this.update = (config, model, resetDuration) => {
|
|
91
92
|
const behavioursConfig = config.behaviours;
|
|
92
93
|
const existingBehaviours = this.emitter.behaviours.getAll();
|
|
93
94
|
const alwaysCreate = this.emitter.behaviours.isEmpty();
|
|
@@ -103,7 +104,9 @@ export default class EmitterParser {
|
|
|
103
104
|
}
|
|
104
105
|
this.emitter.emitController.getParser().read(config.emitController);
|
|
105
106
|
this.emitter.duration.maxTime = CompatibilityHelper.readDuration(config);
|
|
106
|
-
|
|
107
|
+
if (resetDuration) {
|
|
108
|
+
this.emitter.duration.reset();
|
|
109
|
+
}
|
|
107
110
|
if (typeof config.alpha !== 'undefined') {
|
|
108
111
|
this.emitter.alpha = config.alpha;
|
|
109
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmitterParser.js","sourceRoot":"","sources":["../../../src/lib/parser/EmitterParser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EmitterParser.js","sourceRoot":"","sources":["../../../src/lib/parser/EmitterParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Emitter } from '../emitter';
|
|
2
2
|
import { ICustomPixiParticlesSettings } from '../customPixiParticlesSettingsInterface';
|
|
3
|
-
import {
|
|
3
|
+
import { Container } from 'pixi.js-legacy';
|
|
4
4
|
/**
|
|
5
5
|
* Renderer is a class used to render particles in the Pixi library.
|
|
6
6
|
*
|
|
7
7
|
* @class Renderer
|
|
8
8
|
*/
|
|
9
|
-
export default class Renderer extends
|
|
9
|
+
export default class Renderer extends Container {
|
|
10
10
|
blendMode: any;
|
|
11
11
|
emitter: Emitter;
|
|
12
12
|
turbulenceEmitter: Emitter;
|
|
13
|
-
onComplete: any;
|
|
14
13
|
private _paused;
|
|
15
14
|
private _internalPaused;
|
|
16
15
|
private textures;
|
|
@@ -30,6 +29,7 @@ export default class Renderer extends ParticleContainer {
|
|
|
30
29
|
* @memberof Renderer
|
|
31
30
|
*/
|
|
32
31
|
constructor(settings: ICustomPixiParticlesSettings);
|
|
32
|
+
onComplete: any;
|
|
33
33
|
/**
|
|
34
34
|
* Sets the paused state of the object.
|
|
35
35
|
* @param {boolean} isPaused - The new paused state of the object.
|
|
@@ -60,6 +60,10 @@ export default class Renderer extends ParticleContainer {
|
|
|
60
60
|
* Immediately stops emitting particles
|
|
61
61
|
*/
|
|
62
62
|
stopImmediately(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Destroy particles
|
|
65
|
+
*/
|
|
66
|
+
destroy(): void;
|
|
63
67
|
/**
|
|
64
68
|
* Terminates the emitter and any turbulence emitter it is associated with
|
|
65
69
|
*/
|
|
@@ -76,16 +80,18 @@ export default class Renderer extends ParticleContainer {
|
|
|
76
80
|
/**
|
|
77
81
|
* Updates the configuration of the emitter
|
|
78
82
|
* @param {any} config - Configuration object to be used to update the emitter
|
|
83
|
+
* @param {boolean} resetDuration - should duration be reset
|
|
79
84
|
*/
|
|
80
|
-
updateConfig(config: any): void;
|
|
85
|
+
updateConfig(config: any, resetDuration?: boolean): void;
|
|
81
86
|
/**
|
|
82
87
|
* Updates the position of the emitter
|
|
83
88
|
* @param {Object} position - Object containing the x and y coordinates of the new position
|
|
89
|
+
* @param {boolean} resetDuration - should duration be reset
|
|
84
90
|
*/
|
|
85
91
|
updatePosition(position: {
|
|
86
92
|
x: number;
|
|
87
93
|
y: number;
|
|
88
|
-
}): void;
|
|
94
|
+
}, resetDuration?: boolean): void;
|
|
89
95
|
/**
|
|
90
96
|
* Clears the sprite pool, the unused sprites list and the turbulence and particle pools.
|
|
91
97
|
*/
|
|
@@ -4,14 +4,14 @@ import { Emitter } from '../emitter';
|
|
|
4
4
|
import BehaviourNames from '../behaviour/BehaviourNames';
|
|
5
5
|
import List from '../util/List';
|
|
6
6
|
import ParticlePool from '../ParticlePool';
|
|
7
|
-
import { AnimatedSprite,
|
|
7
|
+
import { AnimatedSprite, Container, Loader, Sprite, Texture, Ticker } from 'pixi.js-legacy';
|
|
8
8
|
import Model from '../Model';
|
|
9
9
|
/**
|
|
10
10
|
* Renderer is a class used to render particles in the Pixi library.
|
|
11
11
|
*
|
|
12
12
|
* @class Renderer
|
|
13
13
|
*/
|
|
14
|
-
export default class Renderer extends
|
|
14
|
+
export default class Renderer extends Container {
|
|
15
15
|
/**
|
|
16
16
|
* Creates an instance of Renderer.
|
|
17
17
|
*
|
|
@@ -19,14 +19,7 @@ export default class Renderer extends ParticleContainer {
|
|
|
19
19
|
*/
|
|
20
20
|
constructor(settings) {
|
|
21
21
|
const { textures, emitterConfig, finishingTextures, animatedSpriteZeroPad, animatedSpriteIndexToStart, vertices, position, rotation, uvs, tint, maxParticles, maxFPS, tickerSpeed, } = settings;
|
|
22
|
-
super(
|
|
23
|
-
vertices,
|
|
24
|
-
position,
|
|
25
|
-
rotation,
|
|
26
|
-
uvs,
|
|
27
|
-
tint,
|
|
28
|
-
});
|
|
29
|
-
this.onComplete = () => { };
|
|
22
|
+
super();
|
|
30
23
|
this._paused = false;
|
|
31
24
|
this._internalPaused = false;
|
|
32
25
|
this.zeroPad = 2;
|
|
@@ -34,6 +27,9 @@ export default class Renderer extends ParticleContainer {
|
|
|
34
27
|
this.unusedSprites = [];
|
|
35
28
|
this.anchor = { x: 0.5, y: 0.5 };
|
|
36
29
|
this._model = new Model();
|
|
30
|
+
this.onComplete = () => {
|
|
31
|
+
/**/
|
|
32
|
+
};
|
|
37
33
|
this.getByName = (name) => {
|
|
38
34
|
for (let i = 0; i < this.config.behaviours.length; ++i) {
|
|
39
35
|
if (this.config.behaviours[i].name === name) {
|
|
@@ -147,12 +143,22 @@ export default class Renderer extends ParticleContainer {
|
|
|
147
143
|
* Immediately stops emitting particles
|
|
148
144
|
*/
|
|
149
145
|
stopImmediately() {
|
|
146
|
+
var _a;
|
|
147
|
+
(_a = this._ticker) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
148
|
+
this._ticker = undefined;
|
|
150
149
|
this.emitter.stop();
|
|
151
150
|
if (this.turbulenceEmitter) {
|
|
152
151
|
this.turbulenceEmitter.stop();
|
|
153
152
|
}
|
|
154
153
|
this.emitter.emit(Emitter.COMPLETE);
|
|
155
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Destroy particles
|
|
157
|
+
*/
|
|
158
|
+
destroy() {
|
|
159
|
+
this.stopImmediately();
|
|
160
|
+
super.destroy();
|
|
161
|
+
}
|
|
156
162
|
/**
|
|
157
163
|
* Terminates the emitter and any turbulence emitter it is associated with
|
|
158
164
|
*/
|
|
@@ -182,15 +188,16 @@ export default class Renderer extends ParticleContainer {
|
|
|
182
188
|
/**
|
|
183
189
|
* Updates the configuration of the emitter
|
|
184
190
|
* @param {any} config - Configuration object to be used to update the emitter
|
|
191
|
+
* @param {boolean} resetDuration - should duration be reset
|
|
185
192
|
*/
|
|
186
|
-
updateConfig(config) {
|
|
187
|
-
this.emitterParser.update(config, this._model);
|
|
193
|
+
updateConfig(config, resetDuration = false) {
|
|
194
|
+
this.emitterParser.update(config, this._model, resetDuration);
|
|
188
195
|
if (this.turbulenceEmitter) {
|
|
189
196
|
const turbulenceConfigIndex = this.getConfigIndexByName(BehaviourNames.TURBULENCE_BEHAVIOUR, config);
|
|
190
197
|
if (turbulenceConfigIndex !== -1) {
|
|
191
198
|
const turbulenceConfig = config.behaviours[turbulenceConfigIndex];
|
|
192
199
|
if (turbulenceConfig.enabled === true) {
|
|
193
|
-
this.turbulenceParser.update(this.buildTurbulenceConfig(turbulenceConfig), this._model);
|
|
200
|
+
this.turbulenceParser.update(this.buildTurbulenceConfig(turbulenceConfig), this._model, resetDuration);
|
|
194
201
|
}
|
|
195
202
|
}
|
|
196
203
|
}
|
|
@@ -198,12 +205,13 @@ export default class Renderer extends ParticleContainer {
|
|
|
198
205
|
/**
|
|
199
206
|
* Updates the position of the emitter
|
|
200
207
|
* @param {Object} position - Object containing the x and y coordinates of the new position
|
|
208
|
+
* @param {boolean} resetDuration - should duration be reset
|
|
201
209
|
*/
|
|
202
|
-
updatePosition(position) {
|
|
210
|
+
updatePosition(position, resetDuration = true) {
|
|
203
211
|
const positionBehaviour = this.getByName(BehaviourNames.POSITION_BEHAVIOUR);
|
|
204
212
|
positionBehaviour.position.x = position.x;
|
|
205
213
|
positionBehaviour.position.y = position.y;
|
|
206
|
-
this.emitterParser.update(this.config, this._model);
|
|
214
|
+
this.emitterParser.update(this.config, this._model, resetDuration);
|
|
207
215
|
}
|
|
208
216
|
/**
|
|
209
217
|
* Clears the sprite pool, the unused sprites list and the turbulence and particle pools.
|
|
@@ -248,6 +256,14 @@ export default class Renderer extends ParticleContainer {
|
|
|
248
256
|
let indexFrame = this.indexToStart;
|
|
249
257
|
let padding = 0;
|
|
250
258
|
let texture;
|
|
259
|
+
const sheets = [];
|
|
260
|
+
const resources = Loader.shared.resources;
|
|
261
|
+
for (const key in resources) {
|
|
262
|
+
if (resources[key].extension === 'json') {
|
|
263
|
+
// @ts-ignore
|
|
264
|
+
sheets.push(resources[key].spritesheet);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
251
267
|
do {
|
|
252
268
|
frame = indexFrame.toString();
|
|
253
269
|
padding = zeroPad - frame.length;
|
|
@@ -255,15 +271,26 @@ export default class Renderer extends ParticleContainer {
|
|
|
255
271
|
frame = '0'.repeat(padding) + frame;
|
|
256
272
|
}
|
|
257
273
|
try {
|
|
258
|
-
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
|
|
274
|
+
let found = false;
|
|
275
|
+
for (const sheet of sheets) {
|
|
276
|
+
if (sheet && sheet.textures[`${prefix}${frame}.${imageFileExtension}`]) {
|
|
277
|
+
found = true;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (found) {
|
|
281
|
+
texture = Texture.from(`${prefix}${frame}.${imageFileExtension}`);
|
|
262
282
|
textures.push(texture);
|
|
263
283
|
indexFrame += 1;
|
|
264
284
|
}
|
|
265
285
|
else {
|
|
266
286
|
texture = null;
|
|
287
|
+
for (const key in resources) {
|
|
288
|
+
if (key === `${prefix}${frame}.${imageFileExtension}`) {
|
|
289
|
+
texture = Texture.from(`${prefix}${frame}.${imageFileExtension}`);
|
|
290
|
+
textures.push(texture);
|
|
291
|
+
indexFrame += 1;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
267
294
|
}
|
|
268
295
|
}
|
|
269
296
|
catch (e) {
|
|
@@ -370,14 +397,15 @@ export default class Renderer extends ParticleContainer {
|
|
|
370
397
|
return Math.floor(Math.random() * textures);
|
|
371
398
|
}
|
|
372
399
|
paused(paused) {
|
|
400
|
+
var _a, _b;
|
|
373
401
|
if (paused === this._paused)
|
|
374
402
|
return;
|
|
375
403
|
this._paused = paused;
|
|
376
404
|
if (paused) {
|
|
377
|
-
this._ticker.stop();
|
|
405
|
+
(_a = this._ticker) === null || _a === void 0 ? void 0 : _a.stop();
|
|
378
406
|
}
|
|
379
407
|
else {
|
|
380
|
-
this._ticker.start();
|
|
408
|
+
(_b = this._ticker) === null || _b === void 0 ? void 0 : _b.start();
|
|
381
409
|
}
|
|
382
410
|
}
|
|
383
411
|
internalPause(paused) {
|