custom-pixi-particles 4.0.21 → 4.0.23
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 +10 -2
- package/dist/index.d.ts +5 -0
- package/dist/index.js +21 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/Model.d.ts +23 -0
- package/dist/lib/Model.js +23 -0
- package/dist/lib/Model.js.map +1 -1
- package/dist/lib/Particle.d.ts +146 -0
- package/dist/lib/Particle.js +61 -0
- package/dist/lib/Particle.js.map +1 -1
- package/dist/lib/ParticlePool.d.ts +28 -0
- package/dist/lib/ParticlePool.js +28 -0
- package/dist/lib/ParticlePool.js.map +1 -1
- package/dist/lib/behaviour/AngularVelocityBehaviour.d.ts +31 -0
- package/dist/lib/behaviour/AngularVelocityBehaviour.js +45 -12
- package/dist/lib/behaviour/AngularVelocityBehaviour.js.map +1 -1
- package/dist/lib/behaviour/Behaviour.d.ts +26 -0
- package/dist/lib/behaviour/Behaviour.js +26 -0
- package/dist/lib/behaviour/Behaviour.js.map +1 -1
- package/dist/lib/behaviour/ColorBehaviour.d.ts +1 -1
- package/dist/lib/behaviour/ColorBehaviour.js +8 -11
- package/dist/lib/behaviour/ColorBehaviour.js.map +1 -1
- package/dist/lib/behaviour/EmitDirectionBehaviour.d.ts +29 -5
- package/dist/lib/behaviour/EmitDirectionBehaviour.js +32 -20
- package/dist/lib/behaviour/EmitDirectionBehaviour.js.map +1 -1
- package/dist/lib/behaviour/EmitterBehaviours.d.ts +44 -2
- package/dist/lib/behaviour/EmitterBehaviours.js +43 -3
- package/dist/lib/behaviour/EmitterBehaviours.js.map +1 -1
- package/dist/lib/behaviour/LifeBehaviour.d.ts +49 -0
- package/dist/lib/behaviour/LifeBehaviour.js +55 -5
- package/dist/lib/behaviour/LifeBehaviour.js.map +1 -1
- package/dist/lib/behaviour/PositionBehaviour.d.ts +32 -1
- package/dist/lib/behaviour/PositionBehaviour.js +60 -26
- package/dist/lib/behaviour/PositionBehaviour.js.map +1 -1
- package/dist/lib/behaviour/RotationBehaviour.d.ts +33 -4
- package/dist/lib/behaviour/RotationBehaviour.js +33 -17
- package/dist/lib/behaviour/RotationBehaviour.js.map +1 -1
- package/dist/lib/behaviour/SizeBehaviour.d.ts +1 -1
- package/dist/lib/behaviour/SizeBehaviour.js +25 -18
- package/dist/lib/behaviour/SizeBehaviour.js.map +1 -1
- package/dist/lib/behaviour/TurbulenceBehaviour.d.ts +1 -1
- package/dist/lib/behaviour/TurbulenceBehaviour.js +1 -5
- package/dist/lib/behaviour/TurbulenceBehaviour.js.map +1 -1
- package/dist/lib/emission/AbstractEmission.d.ts +23 -0
- package/dist/lib/emission/AbstractEmission.js +23 -0
- package/dist/lib/emission/AbstractEmission.js.map +1 -1
- package/dist/lib/emission/RandomEmission.d.ts +33 -0
- package/dist/lib/emission/RandomEmission.js +33 -0
- package/dist/lib/emission/RandomEmission.js.map +1 -1
- package/dist/lib/emission/StandardEmission.d.ts +49 -0
- package/dist/lib/emission/StandardEmission.js +49 -0
- package/dist/lib/emission/StandardEmission.js.map +1 -1
- package/dist/lib/emission/UniformEmission.d.ts +42 -0
- package/dist/lib/emission/UniformEmission.js +42 -0
- package/dist/lib/emission/UniformEmission.js.map +1 -1
- package/dist/lib/emitter/Duration.d.ts +17 -0
- package/dist/lib/emitter/Duration.js +17 -0
- package/dist/lib/emitter/Duration.js.map +1 -1
- package/dist/lib/emitter/Emitter.d.ts +61 -1
- package/dist/lib/emitter/Emitter.js +60 -0
- package/dist/lib/emitter/Emitter.js.map +1 -1
- package/dist/lib/parser/BehaviourParser.d.ts +15 -4
- package/dist/lib/parser/BehaviourParser.js +15 -23
- package/dist/lib/parser/BehaviourParser.js.map +1 -1
- package/dist/lib/parser/CompatibilityHelper.d.ts +9 -0
- package/dist/lib/parser/CompatibilityHelper.js +9 -0
- package/dist/lib/parser/CompatibilityHelper.js.map +1 -1
- package/dist/lib/parser/EmitControllerParser.d.ts +21 -0
- package/dist/lib/parser/EmitControllerParser.js +21 -0
- package/dist/lib/parser/EmitControllerParser.js.map +1 -1
- package/dist/lib/parser/EmitterParser.d.ts +54 -1
- package/dist/lib/parser/EmitterParser.js +73 -15
- package/dist/lib/parser/EmitterParser.js.map +1 -1
- package/dist/lib/pixi/Renderer.d.ts +55 -0
- package/dist/lib/pixi/Renderer.js +56 -1
- package/dist/lib/pixi/Renderer.js.map +1 -1
- package/dist/lib/pixi/TestRenderer.js +1 -1
- package/dist/lib/pixi/TestRenderer.js.map +1 -1
- package/dist/lib/util/Color.d.ts +101 -0
- package/dist/lib/util/Color.js +101 -0
- package/dist/lib/util/Color.js.map +1 -1
- package/dist/lib/util/List.d.ts +40 -0
- package/dist/lib/util/List.js +40 -0
- package/dist/lib/util/List.js.map +1 -1
- package/dist/lib/util/Point.d.ts +21 -0
- package/dist/lib/util/Point.js +21 -0
- package/dist/lib/util/Point.js.map +1 -1
- package/dist/lib/util/Random.d.ts +20 -0
- package/dist/lib/util/Random.js +20 -0
- package/dist/lib/util/Random.js.map +1 -1
- package/dist/lib/util/maths.d.ts +17 -0
- package/dist/lib/util/maths.js +17 -0
- package/dist/lib/util/maths.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,27 +1,77 @@
|
|
|
1
1
|
import { Behaviour, BehaviourNames } from './index';
|
|
2
|
+
/**
|
|
3
|
+
* This class is responsible for managing the lifetimes of particles.
|
|
4
|
+
* It sets the maximum lifetime of the particle and updates its progress.
|
|
5
|
+
*
|
|
6
|
+
* @extends Behaviour
|
|
7
|
+
*/
|
|
2
8
|
export default class LifeBehaviour extends Behaviour {
|
|
3
9
|
constructor() {
|
|
4
10
|
super(...arguments);
|
|
11
|
+
/**
|
|
12
|
+
* Whether or not this behaviour is enabled.
|
|
13
|
+
*
|
|
14
|
+
* @type {boolean}
|
|
15
|
+
*/
|
|
5
16
|
this.enabled = true;
|
|
17
|
+
/**
|
|
18
|
+
* The priority of this behaviour.
|
|
19
|
+
*
|
|
20
|
+
* @type {number}
|
|
21
|
+
*/
|
|
6
22
|
this.priority = 10000;
|
|
23
|
+
/**
|
|
24
|
+
* The maximum life time of the particle that this behaviour will set.
|
|
25
|
+
*
|
|
26
|
+
* @type {number}
|
|
27
|
+
*/
|
|
7
28
|
this.maxLifeTime = 0;
|
|
29
|
+
/**
|
|
30
|
+
* The variance of the particle's life time.
|
|
31
|
+
*
|
|
32
|
+
* @type {number}
|
|
33
|
+
*/
|
|
8
34
|
this.timeVariance = 0;
|
|
35
|
+
/**
|
|
36
|
+
* Sets the particle's life time and maximum life time.
|
|
37
|
+
*
|
|
38
|
+
* @param {Particle} particle - The particle to set the life time of.
|
|
39
|
+
* @returns {void}
|
|
40
|
+
*/
|
|
9
41
|
this.init = (particle) => {
|
|
10
42
|
particle.lifeTime = 0;
|
|
11
43
|
particle.lifeProgress = 0;
|
|
12
|
-
particle.maxLifeTime = this.maxLifeTime + this.varianceFrom(this.timeVariance);
|
|
13
|
-
particle.maxLifeTime = Math.max(particle.maxLifeTime, 0.0);
|
|
44
|
+
particle.maxLifeTime = Math.max(this.maxLifeTime + this.varianceFrom(this.timeVariance), 0.0);
|
|
14
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Updates the particle's life time and progress.
|
|
48
|
+
*
|
|
49
|
+
* @param {Particle} particle - The particle to update.
|
|
50
|
+
* @param {number} deltaTime - The time since the last update.
|
|
51
|
+
* @returns {void}
|
|
52
|
+
*/
|
|
15
53
|
this.apply = (particle, deltaTime) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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);
|
|
19
59
|
}
|
|
20
60
|
};
|
|
21
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Returns the name of this behaviour.
|
|
64
|
+
*
|
|
65
|
+
* @returns {string} - The name of the behaviour.
|
|
66
|
+
*/
|
|
22
67
|
getName() {
|
|
23
68
|
return BehaviourNames.LIFE_BEHAVIOUR;
|
|
24
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Returns the properties of the behaviour.
|
|
72
|
+
*
|
|
73
|
+
* @returns {Object} - The properties of the behaviour.
|
|
74
|
+
*/
|
|
25
75
|
getProps() {
|
|
26
76
|
return {
|
|
27
77
|
enabled: this.enabled,
|
|
@@ -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,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAS;IAApD;;QACE,YAAO,GAAG,IAAI,CAAA;
|
|
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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Point } from '../util';
|
|
2
2
|
import { Behaviour } from './index';
|
|
3
3
|
import Particle from '../Particle';
|
|
4
|
-
import Model from
|
|
4
|
+
import Model from '../Model';
|
|
5
5
|
export default class PositionBehaviour extends Behaviour {
|
|
6
6
|
enabled: boolean;
|
|
7
7
|
priority: number;
|
|
@@ -27,11 +27,42 @@ export default class PositionBehaviour extends Behaviour {
|
|
|
27
27
|
warpStretch: number;
|
|
28
28
|
warpDistanceScaleConverter: number;
|
|
29
29
|
warpDistanceToCenter: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Function that initializes a particle
|
|
32
|
+
* @param {Particle} particle - The particle to be initialized
|
|
33
|
+
* @param {Model} model - The model of the particle
|
|
34
|
+
*/
|
|
30
35
|
init: (particle: Particle, model: Model) => void;
|
|
36
|
+
/**
|
|
37
|
+
* Restarts the warp of a particle
|
|
38
|
+
* @param {Particle} particle - The particle to restart the warp on
|
|
39
|
+
* @param {boolean} initial - True if this is the initial warp, false if it is a subsequent one
|
|
40
|
+
* @param {Model} model - The model containing the camera Z property
|
|
41
|
+
*/
|
|
31
42
|
restartWarp: (particle: Particle, initial: boolean, model: Model) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Adds a random variance to the given value
|
|
45
|
+
* @param {number} value - The value to calculate
|
|
46
|
+
* @param {number} variance - The random variance to add
|
|
47
|
+
* @returns {number} The calculated value
|
|
48
|
+
*/
|
|
32
49
|
calculate: (value: number, variance: number) => number;
|
|
50
|
+
/**
|
|
51
|
+
* Applies the particle's velocity and acceleration to move it and calculate its size, rotation, and position.
|
|
52
|
+
* @param {Particle} particle - The particle to be moved
|
|
53
|
+
* @param {number} deltaTime - The time delta for the movement calculation
|
|
54
|
+
* @param {Model} model - The model containing information about the particle's movement
|
|
55
|
+
*/
|
|
33
56
|
apply: (particle: Particle, deltaTime: number, model: Model) => void;
|
|
57
|
+
/**
|
|
58
|
+
* Gets the name of the behaviour
|
|
59
|
+
* @return {BehaviourNames} The name of the behaviour
|
|
60
|
+
*/
|
|
34
61
|
getName(): string;
|
|
62
|
+
/**
|
|
63
|
+
* @description Retrieves the properties of the object.
|
|
64
|
+
* @returns {Object} The properties of the object.
|
|
65
|
+
*/
|
|
35
66
|
getProps(): {
|
|
36
67
|
enabled: boolean;
|
|
37
68
|
priority: number;
|
|
@@ -27,9 +27,12 @@ export default class PositionBehaviour extends Behaviour {
|
|
|
27
27
|
this.warpStretch = 5;
|
|
28
28
|
this.warpDistanceScaleConverter = 2000;
|
|
29
29
|
this.warpDistanceToCenter = false;
|
|
30
|
+
/**
|
|
31
|
+
* Function that initializes a particle
|
|
32
|
+
* @param {Particle} particle - The particle to be initialized
|
|
33
|
+
* @param {Model} model - The model of the particle
|
|
34
|
+
*/
|
|
30
35
|
this.init = (particle, model) => {
|
|
31
|
-
if (!this.enabled)
|
|
32
|
-
return;
|
|
33
36
|
if (this.spawnType === 'Rectangle') {
|
|
34
37
|
particle.movement.x = this.calculate(this.position.x, this.positionVariance.x);
|
|
35
38
|
particle.movement.y = this.calculate(this.position.y, this.positionVariance.y);
|
|
@@ -69,9 +72,16 @@ export default class PositionBehaviour extends Behaviour {
|
|
|
69
72
|
particle.y = particle.movement.y;
|
|
70
73
|
this.restartWarp(particle, true, model);
|
|
71
74
|
};
|
|
75
|
+
/**
|
|
76
|
+
* Restarts the warp of a particle
|
|
77
|
+
* @param {Particle} particle - The particle to restart the warp on
|
|
78
|
+
* @param {boolean} initial - True if this is the initial warp, false if it is a subsequent one
|
|
79
|
+
* @param {Model} model - The model containing the camera Z property
|
|
80
|
+
*/
|
|
72
81
|
this.restartWarp = (particle, initial, model) => {
|
|
73
82
|
if (!this.warp)
|
|
74
83
|
return;
|
|
84
|
+
const { sizeStart } = particle;
|
|
75
85
|
if (initial) {
|
|
76
86
|
particle.z = Math.random() * this.warpDistanceScaleConverter;
|
|
77
87
|
}
|
|
@@ -80,8 +90,8 @@ export default class PositionBehaviour extends Behaviour {
|
|
|
80
90
|
}
|
|
81
91
|
const distance = Math.random() * this.positionVariance.x + 1;
|
|
82
92
|
const deg = Math.random() * (Math.PI * 2);
|
|
83
|
-
particle.warpSizeStart.x = (1 -
|
|
84
|
-
particle.warpSizeStart.y = (1 -
|
|
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;
|
|
85
95
|
if (this.warpDistanceToCenter) {
|
|
86
96
|
particle.movement.x = Math.cos(deg) * distance;
|
|
87
97
|
particle.movement.y = Math.sin(deg) * distance;
|
|
@@ -90,51 +100,75 @@ export default class PositionBehaviour extends Behaviour {
|
|
|
90
100
|
particle.x = Math.cos(deg) * distance;
|
|
91
101
|
particle.y = Math.sin(deg) * distance;
|
|
92
102
|
}
|
|
93
|
-
particle.color.alpha = (1 -
|
|
103
|
+
particle.color.alpha = (1 - distance / this.positionVariance.x) * 0.5;
|
|
94
104
|
};
|
|
105
|
+
/**
|
|
106
|
+
* Adds a random variance to the given value
|
|
107
|
+
* @param {number} value - The value to calculate
|
|
108
|
+
* @param {number} variance - The random variance to add
|
|
109
|
+
* @returns {number} The calculated value
|
|
110
|
+
*/
|
|
95
111
|
this.calculate = (value, variance) => {
|
|
96
112
|
return value + this.varianceFrom(variance);
|
|
97
113
|
};
|
|
114
|
+
/**
|
|
115
|
+
* Applies the particle's velocity and acceleration to move it and calculate its size, rotation, and position.
|
|
116
|
+
* @param {Particle} particle - The particle to be moved
|
|
117
|
+
* @param {number} deltaTime - The time delta for the movement calculation
|
|
118
|
+
* @param {Model} model - The model containing information about the particle's movement
|
|
119
|
+
*/
|
|
98
120
|
this.apply = (particle, deltaTime, model) => {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
particle.velocity.
|
|
103
|
-
particle.
|
|
104
|
-
|
|
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;
|
|
105
130
|
if (this.sinX) {
|
|
106
|
-
particle.x =
|
|
131
|
+
particle.x = movementX + Math.sin(PI * (movementY / sinXVal.x)) * sinXVal.y;
|
|
107
132
|
}
|
|
108
133
|
else {
|
|
109
|
-
particle.x =
|
|
134
|
+
particle.x = movementX;
|
|
110
135
|
}
|
|
111
136
|
if (this.sinY) {
|
|
112
|
-
particle.y =
|
|
137
|
+
particle.y = movementY + Math.sin(PI * (movementX / sinYVal.x)) * sinYVal.y;
|
|
113
138
|
}
|
|
114
139
|
else {
|
|
115
|
-
particle.y =
|
|
140
|
+
particle.y = movementY;
|
|
116
141
|
}
|
|
117
142
|
if (model.warp) {
|
|
118
|
-
if (
|
|
143
|
+
if (z < cameraZ) {
|
|
119
144
|
this.restartWarp(particle, false, model);
|
|
120
145
|
}
|
|
121
|
-
const
|
|
122
|
-
const dxCenter =
|
|
123
|
-
const dyCenter =
|
|
146
|
+
const newZ = z - cameraZ;
|
|
147
|
+
const dxCenter = movementX;
|
|
148
|
+
const dyCenter = movementY;
|
|
124
149
|
const distanceCenter = Math.sqrt(dxCenter * dxCenter + dyCenter * dyCenter);
|
|
125
|
-
const distanceScale = Math.max(0, (this.warpDistanceScaleConverter -
|
|
126
|
-
const fovZ = this.warpFov /
|
|
127
|
-
particle.x =
|
|
128
|
-
particle.y =
|
|
129
|
-
particle.size.x = distanceScale *
|
|
130
|
-
particle.size.y =
|
|
131
|
-
|
|
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;
|
|
155
|
+
particle.size.y =
|
|
156
|
+
distanceScale * warpSizeStart.y + distanceScale * this.warpSpeed * this.warpStretch * distanceCenter;
|
|
157
|
+
particle.rotation = Math.atan2(dyCenter, dxCenter) + PI / 2;
|
|
132
158
|
}
|
|
133
159
|
};
|
|
134
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Gets the name of the behaviour
|
|
163
|
+
* @return {BehaviourNames} The name of the behaviour
|
|
164
|
+
*/
|
|
135
165
|
getName() {
|
|
136
166
|
return BehaviourNames.POSITION_BEHAVIOUR;
|
|
137
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* @description Retrieves the properties of the object.
|
|
170
|
+
* @returns {Object} The properties of the object.
|
|
171
|
+
*/
|
|
138
172
|
getProps() {
|
|
139
173
|
return {
|
|
140
174
|
enabled: this.enabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/PositionBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAInD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,SAAS;IAAxD;;QACE,YAAO,GAAG,KAAK,CAAA;QACf,aAAQ,GAAG,GAAG,CAAA;QACd,cAAS,GAAW,WAAW,CAAA;QAC/B,WAAM,GAAW,CAAC,CAAA;QAClB,SAAI,GAAY,KAAK,CAAA;QACrB,cAAS,GAAW,CAAC,CAAA;QACrB,kBAAa,GAAW,CAAC,CAAA;QACzB,SAAI,GAAY,KAAK,CAAA;QACrB,SAAI,GAAY,KAAK,CAAA;QACrB,YAAO,GAAG,IAAI,KAAK,EAAE,CAAA;QACrB,YAAO,GAAG,IAAI,KAAK,EAAE,CAAA;QACrB,oBAAe,GAAG,IAAI,KAAK,EAAE,CAAA;QAC7B,oBAAe,GAAG,IAAI,KAAK,EAAE,CAAA;QAC7B,aAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;QACtB,qBAAgB,GAAG,IAAI,KAAK,EAAE,CAAA;QAC9B,aAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;QACtB,qBAAgB,GAAG,IAAI,KAAK,EAAE,CAAA;QAC9B,iBAAY,GAAG,IAAI,KAAK,EAAE,CAAA;QAC1B,yBAAoB,GAAG,IAAI,KAAK,EAAE,CAAA;QAClC,qBAAgB,GAAW,EAAE,CAAA;QAC7B,YAAO,GAAW,EAAE,CAAA;QACpB,gBAAW,GAAW,CAAC,CAAA;QACvB,+BAA0B,GAAW,IAAI,CAAA;QACzC,yBAAoB,GAAY,KAAK,CAAA;QAErC,SAAI,GAAG,CAAC,QAAkB,EAAE,KAAY,EAAE,EAAE;YAC1C,IAAI,
|
|
1
|
+
{"version":3,"file":"PositionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/PositionBehaviour.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,46 @@
|
|
|
1
1
|
import { Behaviour } from './index';
|
|
2
2
|
import Particle from '../Particle';
|
|
3
|
+
/**
|
|
4
|
+
* RotationBehaviour is a Behaviour class used to control the rotation of particles.
|
|
5
|
+
* @extends Behaviour
|
|
6
|
+
*/
|
|
3
7
|
export default class RotationBehaviour extends Behaviour {
|
|
8
|
+
/**
|
|
9
|
+
* @type {boolean} enabled - Enable or disable the Behaviour
|
|
10
|
+
*/
|
|
4
11
|
enabled: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* @type {number} priority - The priority of the Behaviour.
|
|
14
|
+
*/
|
|
5
15
|
priority: number;
|
|
16
|
+
/**
|
|
17
|
+
* @type {number} rotation - The amount of rotation to apply on each particle.
|
|
18
|
+
*/
|
|
6
19
|
rotation: number;
|
|
20
|
+
/**
|
|
21
|
+
* @type {number} variance - The amount of variance to apply on the particle's rotation.
|
|
22
|
+
*/
|
|
7
23
|
variance: number;
|
|
24
|
+
/**
|
|
25
|
+
* Initialise the Behaviour for a particle
|
|
26
|
+
* @param {Particle} particle - The particle to be initialised
|
|
27
|
+
*/
|
|
8
28
|
init: (particle: Particle) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Applies the Behaviour to a particle
|
|
31
|
+
* @param {Particle} particle - The particle to apply the Behaviour to
|
|
32
|
+
* @param {number} deltaTime - The delta time of the runtime
|
|
33
|
+
*/
|
|
9
34
|
apply: (particle: Particle, deltaTime: number) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Gets the name of the Behaviour
|
|
37
|
+
* @returns {string} - The name of the Behaviour
|
|
38
|
+
*/
|
|
10
39
|
getName(): string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Gets the properties of the Behaviour
|
|
42
|
+
* @returns {object} - The properties of the Behaviour
|
|
43
|
+
*/
|
|
15
44
|
getProps(): {
|
|
16
45
|
enabled: boolean;
|
|
17
46
|
priority: number;
|
|
@@ -1,38 +1,54 @@
|
|
|
1
1
|
import { Behaviour, BehaviourNames } from './index';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* RotationBehaviour is a Behaviour class used to control the rotation of particles.
|
|
4
|
+
* @extends Behaviour
|
|
5
|
+
*/
|
|
3
6
|
export default class RotationBehaviour extends Behaviour {
|
|
4
7
|
constructor() {
|
|
5
8
|
super(...arguments);
|
|
9
|
+
/**
|
|
10
|
+
* @type {boolean} enabled - Enable or disable the Behaviour
|
|
11
|
+
*/
|
|
6
12
|
this.enabled = false;
|
|
13
|
+
/**
|
|
14
|
+
* @type {number} priority - The priority of the Behaviour.
|
|
15
|
+
*/
|
|
7
16
|
this.priority = 0;
|
|
17
|
+
/**
|
|
18
|
+
* @type {number} rotation - The amount of rotation to apply on each particle.
|
|
19
|
+
*/
|
|
8
20
|
this.rotation = 0;
|
|
21
|
+
/**
|
|
22
|
+
* @type {number} variance - The amount of variance to apply on the particle's rotation.
|
|
23
|
+
*/
|
|
9
24
|
this.variance = 0;
|
|
25
|
+
/**
|
|
26
|
+
* Initialise the Behaviour for a particle
|
|
27
|
+
* @param {Particle} particle - The particle to be initialised
|
|
28
|
+
*/
|
|
10
29
|
this.init = (particle) => {
|
|
11
|
-
if (!this.enabled)
|
|
12
|
-
return;
|
|
13
30
|
particle.rotationDelta = this.rotation + this.varianceFrom(this.variance);
|
|
14
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Applies the Behaviour to a particle
|
|
34
|
+
* @param {Particle} particle - The particle to apply the Behaviour to
|
|
35
|
+
* @param {number} deltaTime - The delta time of the runtime
|
|
36
|
+
*/
|
|
15
37
|
this.apply = (particle, deltaTime) => {
|
|
16
|
-
if (!this.enabled)
|
|
17
|
-
return;
|
|
18
38
|
particle.rotation += particle.rotationDelta * deltaTime;
|
|
19
39
|
};
|
|
20
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Gets the name of the Behaviour
|
|
43
|
+
* @returns {string} - The name of the Behaviour
|
|
44
|
+
*/
|
|
21
45
|
getName() {
|
|
22
46
|
return BehaviourNames.ROTATION_BEHAVIOUR;
|
|
23
47
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.rotation = math.radiansToDegrees(value);
|
|
29
|
-
}
|
|
30
|
-
get varianceInDegrees() {
|
|
31
|
-
return math.radiansToDegrees(this.variance);
|
|
32
|
-
}
|
|
33
|
-
set varianceInDegrees(value) {
|
|
34
|
-
this.variance = math.radiansToDegrees(value);
|
|
35
|
-
}
|
|
48
|
+
/**
|
|
49
|
+
* Gets the properties of the Behaviour
|
|
50
|
+
* @returns {object} - The properties of the Behaviour
|
|
51
|
+
*/
|
|
36
52
|
getProps() {
|
|
37
53
|
return {
|
|
38
54
|
enabled: this.enabled,
|
|
@@ -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;
|
|
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"}
|
|
@@ -10,7 +10,7 @@ export default class SizeBehaviour extends Behaviour {
|
|
|
10
10
|
startVariance: number;
|
|
11
11
|
endVariance: number;
|
|
12
12
|
init: (particle: Particle) => void;
|
|
13
|
-
apply: (particle: Particle
|
|
13
|
+
apply: (particle: Particle) => void;
|
|
14
14
|
getName(): string;
|
|
15
15
|
getProps(): {
|
|
16
16
|
enabled: boolean;
|
|
@@ -11,32 +11,39 @@ export default class SizeBehaviour extends Behaviour {
|
|
|
11
11
|
this.startVariance = 0;
|
|
12
12
|
this.endVariance = 0;
|
|
13
13
|
this.init = (particle) => {
|
|
14
|
-
if (!this.enabled)
|
|
15
|
-
return;
|
|
16
14
|
let variance = this.varianceFrom(this.startVariance);
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
let sizeStartX = this.sizeStart.x + variance;
|
|
16
|
+
let sizeStartY = this.sizeStart.y + variance;
|
|
19
17
|
variance = this.varianceFrom(this.endVariance);
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
let sizeEndX = this.sizeEnd.x + variance;
|
|
19
|
+
let sizeEndY = this.sizeEnd.y + variance;
|
|
22
20
|
if (!this.allowNegativeValues) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
sizeStartX = Math.max(sizeStartX, 0);
|
|
22
|
+
sizeStartY = Math.max(sizeStartY, 0);
|
|
23
|
+
sizeEndX = Math.max(sizeEndX, 0);
|
|
24
|
+
sizeEndY = Math.max(sizeEndY, 0);
|
|
27
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;
|
|
28
34
|
particle.size.copyFrom(particle.sizeStart);
|
|
29
35
|
};
|
|
30
|
-
this.apply = (particle
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
particle.size.y += (particle.sizeEnd.y - particle.sizeStart.y) * particle.lifeProgress;
|
|
36
|
+
this.apply = (particle) => {
|
|
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;
|
|
36
41
|
if (!this.allowNegativeValues) {
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
sizeX = Math.max(0, sizeX);
|
|
43
|
+
sizeY = Math.max(0, sizeY);
|
|
39
44
|
}
|
|
45
|
+
particle.size.x = sizeX;
|
|
46
|
+
particle.size.y = sizeY;
|
|
40
47
|
};
|
|
41
48
|
}
|
|
42
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,
|
|
1
|
+
{"version":3,"file":"SizeBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SizeBehaviour.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ export default class TurbulenceBehaviour extends Behaviour {
|
|
|
21
21
|
duration: number;
|
|
22
22
|
maxLifeTime: number;
|
|
23
23
|
init: (particle: Particle) => void;
|
|
24
|
-
apply: (particle: Particle
|
|
24
|
+
apply: (particle: Particle) => void;
|
|
25
25
|
getName(): string;
|
|
26
26
|
getProps(): {
|
|
27
27
|
enabled: boolean;
|
|
@@ -24,14 +24,10 @@ export default class TurbulenceBehaviour extends Behaviour {
|
|
|
24
24
|
this.duration = 0;
|
|
25
25
|
this.maxLifeTime = 0;
|
|
26
26
|
this.init = (particle) => {
|
|
27
|
-
if (!this.enabled)
|
|
28
|
-
return;
|
|
29
27
|
particle.showVortices = this.showVortices;
|
|
30
28
|
particle.turbulence = this.turbulence;
|
|
31
29
|
};
|
|
32
|
-
this.apply = (particle
|
|
33
|
-
if (!this.enabled)
|
|
34
|
-
return;
|
|
30
|
+
this.apply = (particle) => {
|
|
35
31
|
if (particle.turbulence)
|
|
36
32
|
return;
|
|
37
33
|
turbulencePool.list.forEach((vortex) => {
|
|
@@ -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;AAC/B,OAAO,cAAc,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IAA1D;;QACU,YAAO,GAAY,KAAK,CAAA;QACxB,iBAAY,GAAY,KAAK,CAAA;QAC7B,WAAM,GAAW,CAAC,CAAA;QAClB,eAAU,GAAY,KAAK,CAAA;QAC3B,kBAAa,GAAW,GAAG,CAAA;QACnC,aAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;QACtB,qBAAgB,GAAG,IAAI,KAAK,EAAE,CAAA;QAC9B,aAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;QACtB,qBAAgB,GAAG,IAAI,KAAK,EAAE,CAAA;QAC9B,iBAAY,GAAG,IAAI,KAAK,EAAE,CAAA;QAC1B,yBAAoB,GAAG,IAAI,KAAK,EAAE,CAAA;QAClC,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;QACf,kBAAa,GAAG,CAAC,CAAA;QACjB,aAAQ,GAAG,CAAC,CAAA;QACZ,gBAAW,GAAG,CAAC,CAAA;QAEf,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,
|
|
1
|
+
{"version":3,"file":"TurbulenceBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/TurbulenceBehaviour.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,30 @@
|
|
|
1
1
|
import { EmitControllerParser } from '../parser';
|
|
2
|
+
/**
|
|
3
|
+
* Abstract class representing a particle emitter.
|
|
4
|
+
* @abstract
|
|
5
|
+
*/
|
|
2
6
|
export default class AbstractEmission {
|
|
7
|
+
/**
|
|
8
|
+
* Calculate number of particles emitted after given time deltas
|
|
9
|
+
* @param {number} deltaTime - number of seconds passed
|
|
10
|
+
* @param {number} particlesCount - current number of particles
|
|
11
|
+
* @return {number} - the number of particles emitted
|
|
12
|
+
* @abstract
|
|
13
|
+
*/
|
|
3
14
|
howMany(deltaTime: number, particlesCount: number): void;
|
|
15
|
+
/**
|
|
16
|
+
* Reset the emission
|
|
17
|
+
*/
|
|
4
18
|
reset(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Get the name of the emission
|
|
21
|
+
* @return {string} - the name of the emission
|
|
22
|
+
* @throws {Error} - when the method is not overridden in subclass
|
|
23
|
+
*/
|
|
5
24
|
getName(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Get the parser for the emitter
|
|
27
|
+
* @return {EmitControllerParser} - parser for the emitter
|
|
28
|
+
*/
|
|
6
29
|
getParser(): EmitControllerParser;
|
|
7
30
|
}
|