custom-pixi-particles 4.17.0 → 4.18.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 (164) hide show
  1. package/README.md +6 -4
  2. package/package.json +6 -5
  3. package/dist/index.d.ts +0 -15
  4. package/dist/index.js +0 -45
  5. package/dist/index.js.map +0 -1
  6. package/dist/lib/Model.d.ts +0 -32
  7. package/dist/lib/Model.js +0 -44
  8. package/dist/lib/Model.js.map +0 -1
  9. package/dist/lib/Particle.d.ts +0 -234
  10. package/dist/lib/Particle.js +0 -201
  11. package/dist/lib/Particle.js.map +0 -1
  12. package/dist/lib/ParticlePool.d.ts +0 -37
  13. package/dist/lib/ParticlePool.js +0 -56
  14. package/dist/lib/ParticlePool.js.map +0 -1
  15. package/dist/lib/behaviour/AngularVelocityBehaviour.d.ts +0 -61
  16. package/dist/lib/behaviour/AngularVelocityBehaviour.js +0 -118
  17. package/dist/lib/behaviour/AngularVelocityBehaviour.js.map +0 -1
  18. package/dist/lib/behaviour/AttractionRepulsionBehaviour.d.ts +0 -42
  19. package/dist/lib/behaviour/AttractionRepulsionBehaviour.js +0 -78
  20. package/dist/lib/behaviour/AttractionRepulsionBehaviour.js.map +0 -1
  21. package/dist/lib/behaviour/Behaviour.d.ts +0 -33
  22. package/dist/lib/behaviour/Behaviour.js +0 -45
  23. package/dist/lib/behaviour/Behaviour.js.map +0 -1
  24. package/dist/lib/behaviour/BehaviourNames.d.ts +0 -22
  25. package/dist/lib/behaviour/BehaviourNames.js +0 -23
  26. package/dist/lib/behaviour/BehaviourNames.js.map +0 -1
  27. package/dist/lib/behaviour/CollisionBehaviour.d.ts +0 -86
  28. package/dist/lib/behaviour/CollisionBehaviour.js +0 -140
  29. package/dist/lib/behaviour/CollisionBehaviour.js.map +0 -1
  30. package/dist/lib/behaviour/ColorBehaviour.d.ts +0 -67
  31. package/dist/lib/behaviour/ColorBehaviour.js +0 -193
  32. package/dist/lib/behaviour/ColorBehaviour.js.map +0 -1
  33. package/dist/lib/behaviour/EmitDirectionBehaviour.d.ts +0 -52
  34. package/dist/lib/behaviour/EmitDirectionBehaviour.js +0 -105
  35. package/dist/lib/behaviour/EmitDirectionBehaviour.js.map +0 -1
  36. package/dist/lib/behaviour/EmitterBehaviours.d.ts +0 -69
  37. package/dist/lib/behaviour/EmitterBehaviours.js +0 -116
  38. package/dist/lib/behaviour/EmitterBehaviours.js.map +0 -1
  39. package/dist/lib/behaviour/ForceFieldsBehaviour.d.ts +0 -53
  40. package/dist/lib/behaviour/ForceFieldsBehaviour.js +0 -80
  41. package/dist/lib/behaviour/ForceFieldsBehaviour.js.map +0 -1
  42. package/dist/lib/behaviour/GroupingBehaviour.d.ts +0 -57
  43. package/dist/lib/behaviour/GroupingBehaviour.js +0 -143
  44. package/dist/lib/behaviour/GroupingBehaviour.js.map +0 -1
  45. package/dist/lib/behaviour/LifeBehaviour.d.ts +0 -47
  46. package/dist/lib/behaviour/LifeBehaviour.js +0 -65
  47. package/dist/lib/behaviour/LifeBehaviour.js.map +0 -1
  48. package/dist/lib/behaviour/LightEffectBehaviour.d.ts +0 -59
  49. package/dist/lib/behaviour/LightEffectBehaviour.js +0 -94
  50. package/dist/lib/behaviour/LightEffectBehaviour.js.map +0 -1
  51. package/dist/lib/behaviour/NoiseBasedMotionBehaviour.d.ts +0 -35
  52. package/dist/lib/behaviour/NoiseBasedMotionBehaviour.js +0 -93
  53. package/dist/lib/behaviour/NoiseBasedMotionBehaviour.js.map +0 -1
  54. package/dist/lib/behaviour/PositionBehaviour.d.ts +0 -164
  55. package/dist/lib/behaviour/PositionBehaviour.js +0 -484
  56. package/dist/lib/behaviour/PositionBehaviour.js.map +0 -1
  57. package/dist/lib/behaviour/RotationBehaviour.d.ts +0 -59
  58. package/dist/lib/behaviour/RotationBehaviour.js +0 -100
  59. package/dist/lib/behaviour/RotationBehaviour.js.map +0 -1
  60. package/dist/lib/behaviour/SizeBehaviour.d.ts +0 -61
  61. package/dist/lib/behaviour/SizeBehaviour.js +0 -156
  62. package/dist/lib/behaviour/SizeBehaviour.js.map +0 -1
  63. package/dist/lib/behaviour/SoundReactiveBehaviour.d.ts +0 -58
  64. package/dist/lib/behaviour/SoundReactiveBehaviour.js +0 -132
  65. package/dist/lib/behaviour/SoundReactiveBehaviour.js.map +0 -1
  66. package/dist/lib/behaviour/SpawnBehaviour.d.ts +0 -89
  67. package/dist/lib/behaviour/SpawnBehaviour.js +0 -705
  68. package/dist/lib/behaviour/SpawnBehaviour.js.map +0 -1
  69. package/dist/lib/behaviour/StretchBehaviour.d.ts +0 -30
  70. package/dist/lib/behaviour/StretchBehaviour.js +0 -59
  71. package/dist/lib/behaviour/StretchBehaviour.js.map +0 -1
  72. package/dist/lib/behaviour/TemperatureBehaviour.d.ts +0 -47
  73. package/dist/lib/behaviour/TemperatureBehaviour.js +0 -64
  74. package/dist/lib/behaviour/TemperatureBehaviour.js.map +0 -1
  75. package/dist/lib/behaviour/TimelineBehaviour.d.ts +0 -73
  76. package/dist/lib/behaviour/TimelineBehaviour.js +0 -100
  77. package/dist/lib/behaviour/TimelineBehaviour.js.map +0 -1
  78. package/dist/lib/behaviour/TurbulenceBehaviour.d.ts +0 -73
  79. package/dist/lib/behaviour/TurbulenceBehaviour.js +0 -133
  80. package/dist/lib/behaviour/TurbulenceBehaviour.js.map +0 -1
  81. package/dist/lib/behaviour/index.d.ts +0 -23
  82. package/dist/lib/behaviour/index.js +0 -24
  83. package/dist/lib/behaviour/index.js.map +0 -1
  84. package/dist/lib/customPixiParticlesSettingsInterface.d.ts +0 -19
  85. package/dist/lib/customPixiParticlesSettingsInterface.js +0 -2
  86. package/dist/lib/customPixiParticlesSettingsInterface.js.map +0 -1
  87. package/dist/lib/emission/AbstractEmission.d.ts +0 -30
  88. package/dist/lib/emission/AbstractEmission.js +0 -39
  89. package/dist/lib/emission/AbstractEmission.js.map +0 -1
  90. package/dist/lib/emission/EmissionTypes.d.ts +0 -6
  91. package/dist/lib/emission/EmissionTypes.js +0 -6
  92. package/dist/lib/emission/EmissionTypes.js.map +0 -1
  93. package/dist/lib/emission/RandomEmission.d.ts +0 -44
  94. package/dist/lib/emission/RandomEmission.js +0 -66
  95. package/dist/lib/emission/RandomEmission.js.map +0 -1
  96. package/dist/lib/emission/StandardEmission.d.ts +0 -62
  97. package/dist/lib/emission/StandardEmission.js +0 -87
  98. package/dist/lib/emission/StandardEmission.js.map +0 -1
  99. package/dist/lib/emission/UniformEmission.d.ts +0 -56
  100. package/dist/lib/emission/UniformEmission.js +0 -83
  101. package/dist/lib/emission/UniformEmission.js.map +0 -1
  102. package/dist/lib/emission/index.d.ts +0 -6
  103. package/dist/lib/emission/index.js +0 -7
  104. package/dist/lib/emission/index.js.map +0 -1
  105. package/dist/lib/emitter/Duration.d.ts +0 -27
  106. package/dist/lib/emitter/Duration.js +0 -41
  107. package/dist/lib/emitter/Duration.js.map +0 -1
  108. package/dist/lib/emitter/Emitter.d.ts +0 -116
  109. package/dist/lib/emitter/Emitter.js +0 -240
  110. package/dist/lib/emitter/Emitter.js.map +0 -1
  111. package/dist/lib/emitter/index.d.ts +0 -3
  112. package/dist/lib/emitter/index.js +0 -4
  113. package/dist/lib/emitter/index.js.map +0 -1
  114. package/dist/lib/index.d.ts +0 -20
  115. package/dist/lib/index.js +0 -21
  116. package/dist/lib/index.js.map +0 -1
  117. package/dist/lib/parser/BehaviourParser.d.ts +0 -21
  118. package/dist/lib/parser/BehaviourParser.js +0 -72
  119. package/dist/lib/parser/BehaviourParser.js.map +0 -1
  120. package/dist/lib/parser/CompatibilityHelper.d.ts +0 -12
  121. package/dist/lib/parser/CompatibilityHelper.js +0 -19
  122. package/dist/lib/parser/CompatibilityHelper.js.map +0 -1
  123. package/dist/lib/parser/EmitControllerParser.d.ts +0 -27
  124. package/dist/lib/parser/EmitControllerParser.js +0 -39
  125. package/dist/lib/parser/EmitControllerParser.js.map +0 -1
  126. package/dist/lib/parser/EmitterParser.d.ts +0 -67
  127. package/dist/lib/parser/EmitterParser.js +0 -168
  128. package/dist/lib/parser/EmitterParser.js.map +0 -1
  129. package/dist/lib/parser/index.d.ts +0 -5
  130. package/dist/lib/parser/index.js +0 -6
  131. package/dist/lib/parser/index.js.map +0 -1
  132. package/dist/lib/pixi/Renderer.d.ts +0 -125
  133. package/dist/lib/pixi/Renderer.js +0 -584
  134. package/dist/lib/pixi/Renderer.js.map +0 -1
  135. package/dist/lib/pixi/TestRenderer.d.ts +0 -125
  136. package/dist/lib/pixi/TestRenderer.js +0 -578
  137. package/dist/lib/pixi/TestRenderer.js.map +0 -1
  138. package/dist/lib/util/Color.d.ts +0 -133
  139. package/dist/lib/util/Color.js +0 -173
  140. package/dist/lib/util/Color.js.map +0 -1
  141. package/dist/lib/util/List.d.ts +0 -49
  142. package/dist/lib/util/List.js +0 -87
  143. package/dist/lib/util/List.js.map +0 -1
  144. package/dist/lib/util/MinMax.d.ts +0 -34
  145. package/dist/lib/util/MinMax.js +0 -46
  146. package/dist/lib/util/MinMax.js.map +0 -1
  147. package/dist/lib/util/Point.d.ts +0 -34
  148. package/dist/lib/util/Point.js +0 -46
  149. package/dist/lib/util/Point.js.map +0 -1
  150. package/dist/lib/util/Random.d.ts +0 -24
  151. package/dist/lib/util/Random.js +0 -30
  152. package/dist/lib/util/Random.js.map +0 -1
  153. package/dist/lib/util/ThereBack.d.ts +0 -14
  154. package/dist/lib/util/ThereBack.js +0 -23
  155. package/dist/lib/util/ThereBack.js.map +0 -1
  156. package/dist/lib/util/index.d.ts +0 -5
  157. package/dist/lib/util/index.js +0 -6
  158. package/dist/lib/util/index.js.map +0 -1
  159. package/dist/lib/util/maths.d.ts +0 -10
  160. package/dist/lib/util/maths.js +0 -13
  161. package/dist/lib/util/maths.js.map +0 -1
  162. package/dist/lib/util/turbulencePool.d.ts +0 -4
  163. package/dist/lib/util/turbulencePool.js +0 -7
  164. package/dist/lib/util/turbulencePool.js.map +0 -1
@@ -1,584 +0,0 @@
1
- // tslint:disable:prefer-for-of
2
- import engine from '../index';
3
- import { Emitter } from '../emitter';
4
- import BehaviourNames from '../behaviour/BehaviourNames';
5
- import List from '../util/List';
6
- import ParticlePool from '../ParticlePool';
7
- import { AnimatedSprite, Loader, ParticleContainer, Sprite, Texture, Ticker } from 'pixi.js-legacy';
8
- import Model from '../Model';
9
- /**
10
- * Renderer is a class used to render particles in the Pixi library.
11
- *
12
- * @class Renderer
13
- */
14
- export default class Renderer extends ParticleContainer {
15
- /**
16
- * Creates an instance of Renderer.
17
- *
18
- * @memberof Renderer
19
- */
20
- constructor(settings) {
21
- const { textures, emitterConfig, finishingTextures, animatedSpriteZeroPad, animatedSpriteIndexToStart, vertices, position, rotation, uvs, tint, maxParticles, maxFPS, minFPS, tickerSpeed, } = settings;
22
- super(maxParticles, {
23
- vertices,
24
- position,
25
- rotation,
26
- uvs,
27
- tint,
28
- });
29
- this._paused = false;
30
- this._internalPaused = false;
31
- this.zeroPad = 2;
32
- this.indexToStart = 0;
33
- this.unusedSprites = [];
34
- this.anchor = { x: 0.5, y: 0.5 };
35
- this._model = new Model();
36
- this.onComplete = () => {
37
- /**/
38
- };
39
- this.onCompleteFN = () => {
40
- /**/
41
- };
42
- this.getByName = (name) => {
43
- for (let i = 0; i < this.config.behaviours.length; ++i) {
44
- if (this.config.behaviours[i].name === name) {
45
- return this.config.behaviours[i];
46
- }
47
- }
48
- return null;
49
- };
50
- this.config = emitterConfig;
51
- this.textures = textures;
52
- this.finishingTextureNames = finishingTextures;
53
- this.zeroPad = animatedSpriteZeroPad;
54
- this.indexToStart = animatedSpriteIndexToStart;
55
- const turbulenceConfigIndex = this.getConfigIndexByName(BehaviourNames.TURBULENCE_BEHAVIOUR, emitterConfig);
56
- if (turbulenceConfigIndex !== -1) {
57
- const turbulenceConfig = emitterConfig.behaviours[turbulenceConfigIndex];
58
- if (turbulenceConfig.enabled === true) {
59
- this.turbulenceEmitter = new engine.Emitter(this._model);
60
- this.turbulenceParser = this.turbulenceEmitter.getParser();
61
- this.turbulenceParser.read(this.buildTurbulenceConfig(turbulenceConfig), this._model);
62
- this.turbulenceEmitter.on(Emitter.CREATE, this.onCreateTurbulence, this);
63
- this.turbulenceEmitter.on(Emitter.UPDATE, this.onUpdateTurbulence, this);
64
- this.turbulenceEmitter.on(Emitter.REMOVE, this.onRemoveTurbulence, this);
65
- }
66
- }
67
- if (typeof emitterConfig.alpha !== 'undefined') {
68
- this.alpha = emitterConfig.alpha;
69
- }
70
- if (typeof emitterConfig.blendMode !== 'undefined') {
71
- this.blendMode = emitterConfig.blendMode;
72
- }
73
- if (typeof emitterConfig.anchor !== 'undefined') {
74
- this.anchor = emitterConfig.anchor;
75
- }
76
- this.emitter = new engine.Emitter(this._model);
77
- this.emitterParser = this.emitter.getParser();
78
- this.emitterParser.read(emitterConfig, this._model);
79
- this.emitter.on(Emitter.CREATE, this.onCreate, this);
80
- this.emitter.on(Emitter.UPDATE, this.onUpdate, this);
81
- this.emitter.on(Emitter.FINISHING, this.onFinishing, this);
82
- this.emitter.on(Emitter.REMOVE, this.onRemove, this);
83
- this.onCompleteFN = () => this.onComplete();
84
- this.emitter.on(Emitter.COMPLETE, this.onCompleteFN, this);
85
- if (this.turbulenceEmitter && this.turbulenceEmitter.list) {
86
- this.emitter.turbulencePool.list = this.turbulenceEmitter.list;
87
- }
88
- this._visibilitychangeBinding = () => this.internalPause(document.hidden);
89
- document.addEventListener('visibilitychange', this._visibilitychangeBinding);
90
- const ticker = new Ticker();
91
- ticker.maxFPS = maxFPS;
92
- ticker.minFPS = minFPS;
93
- ticker.speed = tickerSpeed;
94
- ticker.stop();
95
- // @ts-ignore
96
- ticker.add(this._updateTransform, this);
97
- ticker.start();
98
- this._ticker = ticker;
99
- }
100
- /**
101
- * Sets the paused state of the object.
102
- *
103
- * @param {boolean} [isPaused=true] - The new paused state of the object. Defaults to `true`.
104
- * @returns {void}
105
- */
106
- pause(isPaused = true) {
107
- this.paused(isPaused);
108
- }
109
- /**
110
- * Resumes the object's operation by setting its paused state to false.
111
- *
112
- * @returns {void}
113
- */
114
- resume() {
115
- this.paused(false);
116
- }
117
- /**
118
- * Updates the transform of the ParticleContainer and updates the emitters.
119
- */
120
- _updateTransform(deltaTime) {
121
- var _a;
122
- if (this._paused)
123
- return;
124
- (_a = this.emitter) === null || _a === void 0 ? void 0 : _a.update(deltaTime);
125
- if (this.turbulenceEmitter) {
126
- this.turbulenceEmitter.update(deltaTime);
127
- }
128
- }
129
- /**
130
- *
131
- * @method updateTexture
132
- * @description This method updates the texture of the unused sprites and children to a randomly generated texture.
133
- */
134
- updateTexture() {
135
- for (let i = 0; i < this.unusedSprites.length; ++i) {
136
- this.unusedSprites[i].texture = Texture.from(this.getRandomTexture());
137
- }
138
- for (let i = 0; i < this.children.length; ++i) {
139
- // @ts-ignore
140
- this.children[i].texture = Texture.from(this.getRandomTexture());
141
- }
142
- }
143
- /**
144
- * This method is used to start the emitter and turbulenceEmitter if available.
145
- * @function start
146
- */
147
- start() {
148
- var _a;
149
- (_a = this.emitter) === null || _a === void 0 ? void 0 : _a.resetAndPlay();
150
- if (this.turbulenceEmitter) {
151
- this.turbulenceEmitter.resetAndPlay();
152
- }
153
- }
154
- /**
155
- * Resets the particle emitters in this class without removing existing particles and plays them.
156
- * @function play
157
- */
158
- play() {
159
- var _a;
160
- (_a = this.emitter) === null || _a === void 0 ? void 0 : _a.resetWithoutRemovingAndPlay();
161
- if (this.turbulenceEmitter) {
162
- this.turbulenceEmitter.resetWithoutRemovingAndPlay();
163
- }
164
- }
165
- /**
166
- * Immediately stops emitting particles
167
- */
168
- stopImmediately() {
169
- var _a, _b, _c;
170
- (_a = this._ticker) === null || _a === void 0 ? void 0 : _a.destroy();
171
- this._ticker = undefined;
172
- (_b = this.emitter) === null || _b === void 0 ? void 0 : _b.stop();
173
- if (this.turbulenceEmitter) {
174
- this.turbulenceEmitter.stop();
175
- }
176
- (_c = this.emitter) === null || _c === void 0 ? void 0 : _c.emit(Emitter.COMPLETE);
177
- }
178
- /**
179
- * Destroy particles
180
- */
181
- destroy() {
182
- this.stopImmediately();
183
- super.destroy();
184
- if (this.emitter) {
185
- this.emitter.destroy();
186
- this.emitter.off(Emitter.CREATE, this.onCreate, this);
187
- this.emitter.off(Emitter.UPDATE, this.onUpdate, this);
188
- this.emitter.off(Emitter.FINISHING, this.onFinishing, this);
189
- this.emitter.off(Emitter.REMOVE, this.onRemove, this);
190
- this.emitter.off(Emitter.COMPLETE, this.onCompleteFN, this);
191
- // @ts-ignore
192
- this.emitter = undefined;
193
- }
194
- // @ts-ignore
195
- this.turbulenceEmitter = undefined;
196
- // @ts-ignore
197
- this.turbulenceParser = undefined;
198
- // @ts-ignore
199
- this.unusedSprites = undefined;
200
- // @ts-ignore
201
- this._model = undefined;
202
- this.onComplete = undefined;
203
- this.onCompleteFN = undefined;
204
- this.config = undefined;
205
- // @ts-ignore
206
- this.textures = undefined;
207
- // @ts-ignore
208
- this.finishingTextureNames = undefined;
209
- // @ts-ignore
210
- this.emitterParser = undefined;
211
- // @ts-ignore
212
- this.textures = undefined;
213
- document.removeEventListener('visibilitychange', this._visibilitychangeBinding);
214
- }
215
- /**
216
- * Terminates the emitter and any turbulence emitter it is associated with
217
- */
218
- stop() {
219
- var _a;
220
- (_a = this.emitter) === null || _a === void 0 ? void 0 : _a.stopWithoutKilling();
221
- if (this.turbulenceEmitter) {
222
- this.turbulenceEmitter.stop();
223
- }
224
- }
225
- /**
226
- * Resets the emitters to their initial state
227
- */
228
- resetEmitter() {
229
- var _a;
230
- (_a = this.emitter) === null || _a === void 0 ? void 0 : _a.reset();
231
- if (this.turbulenceEmitter) {
232
- this.turbulenceEmitter.reset();
233
- }
234
- }
235
- /**
236
- * Sets the textures used by the emitter
237
- * @param {string[]} textures - Array of strings containing the textures to be used by the emitter
238
- */
239
- setTextures(textures) {
240
- this.textures = textures;
241
- this.updateTexture();
242
- }
243
- /**
244
- * Updates the configuration of the emitter
245
- * @param {any} config - Configuration object to be used to update the emitter
246
- * @param {boolean} resetDuration - should duration be reset
247
- */
248
- updateConfig(config, resetDuration = false) {
249
- var _a;
250
- (_a = this.emitterParser) === null || _a === void 0 ? void 0 : _a.update(config, this._model, resetDuration);
251
- if (this.turbulenceEmitter) {
252
- const turbulenceConfigIndex = this.getConfigIndexByName(BehaviourNames.TURBULENCE_BEHAVIOUR, config);
253
- if (turbulenceConfigIndex !== -1) {
254
- const turbulenceConfig = config.behaviours[turbulenceConfigIndex];
255
- if (turbulenceConfig.enabled === true) {
256
- this.turbulenceParser.update(this.buildTurbulenceConfig(turbulenceConfig), this._model, resetDuration);
257
- }
258
- }
259
- }
260
- }
261
- /**
262
- * Updates the position of the emitter
263
- * @param {Object} position - Object containing the x and y coordinates of the new position
264
- * @param {boolean} resetDuration - should duration be reset
265
- */
266
- updatePosition(position, resetDuration = true) {
267
- var _a;
268
- const behaviour = this.getByName(BehaviourNames.SPAWN_BEHAVIOUR);
269
- behaviour.customPoints[0].position.x = position.x;
270
- behaviour.customPoints[0].position.y = position.y;
271
- (_a = this.emitterParser) === null || _a === void 0 ? void 0 : _a.update(this.config, this._model, resetDuration);
272
- }
273
- /**
274
- * Clears the sprite pool, the unused sprites list and the turbulence and particle pools.
275
- */
276
- clearPool() {
277
- this.removeChildren();
278
- this.unusedSprites = [];
279
- if (this.turbulenceEmitter && this.turbulenceEmitter.list) {
280
- if (this.emitter) {
281
- this.emitter.turbulencePool.list.reset();
282
- this.emitter.turbulencePool.list = new List();
283
- }
284
- }
285
- if (this.emitter) {
286
- this.emitter.list.reset();
287
- this.emitter.list = new List();
288
- }
289
- ParticlePool.global.reset();
290
- }
291
- getOrCreateSprite() {
292
- var _a, _b, _c;
293
- if (this.unusedSprites.length > 0) {
294
- const sprite = this.unusedSprites.pop();
295
- if (this.finishingTextureNames && this.finishingTextureNames.length) {
296
- sprite.texture = Texture.from(this.getRandomTexture());
297
- }
298
- return sprite;
299
- }
300
- if ((_a = this.emitter) === null || _a === void 0 ? void 0 : _a.animatedSprite) {
301
- const textures = this.createFrameAnimationByName(this.getRandomTexture());
302
- if (textures.length) {
303
- const animation = new AnimatedSprite(textures);
304
- animation.anchor.set(this.anchor.x, this.anchor.y);
305
- // @ts-ignore
306
- animation.loop = (_b = this.emitter) === null || _b === void 0 ? void 0 : _b.animatedSprite.loop;
307
- // @ts-ignore
308
- animation.animationSpeed = (_c = this.emitter) === null || _c === void 0 ? void 0 : _c.animatedSprite.frameRate;
309
- return this.addChild(animation);
310
- }
311
- }
312
- const sprite = new Sprite(Texture.from(this.getRandomTexture()));
313
- sprite.anchor.set(this.anchor.x, this.anchor.y);
314
- return this.addChild(sprite);
315
- }
316
- createFrameAnimationByName(prefix, imageFileExtension = 'png') {
317
- const zeroPad = this.zeroPad;
318
- const textures = [];
319
- let frame = '';
320
- let indexFrame = this.indexToStart;
321
- let padding = 0;
322
- let texture;
323
- const sheets = [];
324
- const resources = Loader.shared.resources;
325
- for (const key in resources) {
326
- if (resources[key].extension === 'json') {
327
- // @ts-ignore
328
- sheets.push(resources[key].spritesheet);
329
- }
330
- }
331
- do {
332
- frame = indexFrame.toString();
333
- padding = zeroPad - frame.length;
334
- if (padding > 0) {
335
- frame = '0'.repeat(padding) + frame;
336
- }
337
- try {
338
- let found = false;
339
- for (const sheet of sheets) {
340
- if (sheet && sheet.textures[`${prefix}${frame}.${imageFileExtension}`]) {
341
- found = true;
342
- }
343
- }
344
- if (found) {
345
- texture = Texture.from(`${prefix}${frame}.${imageFileExtension}`);
346
- textures.push(texture);
347
- indexFrame += 1;
348
- }
349
- else {
350
- texture = null;
351
- for (const key in resources) {
352
- if (key === `${prefix}${frame}.${imageFileExtension}`) {
353
- texture = Texture.from(`${prefix}${frame}.${imageFileExtension}`);
354
- textures.push(texture);
355
- indexFrame += 1;
356
- }
357
- }
358
- }
359
- }
360
- catch (e) {
361
- texture = null;
362
- }
363
- } while (texture);
364
- return textures;
365
- }
366
- onCreate(particle) {
367
- var _a;
368
- const sprite = this.getOrCreateSprite();
369
- sprite.visible = true;
370
- sprite.alpha = 1;
371
- if (this.blendMode) {
372
- sprite.blendMode = this.blendMode;
373
- }
374
- if (sprite instanceof AnimatedSprite) {
375
- if ((_a = this.emitter) === null || _a === void 0 ? void 0 : _a.animatedSprite.randomFrameStart) {
376
- const textures = this.createFrameAnimationByName(this.getRandomTexture());
377
- sprite.gotoAndPlay(this.getRandomFrameNumber(textures.length));
378
- }
379
- else {
380
- sprite.play();
381
- }
382
- }
383
- particle.sprite = sprite;
384
- }
385
- onCreateTurbulence(particle) {
386
- let sprite;
387
- if (particle.showVortices) {
388
- sprite = new Sprite(Texture.from('vortex.png'));
389
- }
390
- else {
391
- sprite = new Sprite();
392
- }
393
- sprite.anchor.set(this.anchor.x, this.anchor.y);
394
- this.addChild(sprite);
395
- sprite.visible = false;
396
- sprite.alpha = 0;
397
- particle.sprite = sprite;
398
- if (particle.showVortices && sprite) {
399
- sprite.visible = true;
400
- sprite.alpha = 1;
401
- }
402
- }
403
- onUpdate(particle) {
404
- const sprite = particle.sprite;
405
- sprite.x = particle.x;
406
- sprite.y = particle.y;
407
- sprite.scale.x = particle.size.x;
408
- sprite.scale.y = particle.size.y;
409
- sprite.tint = particle.color.hex;
410
- sprite.alpha = particle.color.alpha;
411
- sprite.rotation = particle.rotation;
412
- }
413
- onUpdateTurbulence(particle) {
414
- const sprite = particle.sprite;
415
- sprite.x = particle.x;
416
- sprite.y = particle.y;
417
- if (particle.showVortices && sprite) {
418
- sprite.scale.x = particle.size.x;
419
- sprite.scale.y = particle.size.y;
420
- sprite.tint = particle.color.hex;
421
- sprite.alpha = particle.color.alpha;
422
- sprite.rotation = particle.rotation;
423
- }
424
- }
425
- onFinishing(particle) {
426
- if (!this.finishingTextureNames || !this.finishingTextureNames.length)
427
- return;
428
- const sprite = particle.sprite;
429
- if (particle.finishingTexture <= this.finishingTextureNames.length - 1) {
430
- sprite.texture = Texture.from(this.getRandomFinishingTexture());
431
- particle.finishingTexture++;
432
- }
433
- }
434
- onRemove(particle) {
435
- const sprite = particle.sprite;
436
- if (!particle.showVortices && sprite) {
437
- sprite.visible = false;
438
- sprite.alpha = 0;
439
- }
440
- particle.finishingTexture = 0;
441
- this.unusedSprites.push(sprite);
442
- if (sprite instanceof AnimatedSprite) {
443
- sprite.stop();
444
- }
445
- }
446
- onRemoveTurbulence(particle) {
447
- const sprite = particle.sprite;
448
- if (!particle.showVortices && sprite) {
449
- sprite.visible = false;
450
- sprite.alpha = 0;
451
- }
452
- this.removeChild(sprite);
453
- delete particle.sprite;
454
- }
455
- getRandomTexture() {
456
- return this.textures[Math.floor(Math.random() * this.textures.length)];
457
- }
458
- getRandomFinishingTexture() {
459
- return this.finishingTextureNames[Math.floor(Math.random() * this.finishingTextureNames.length)];
460
- }
461
- getRandomFrameNumber(textures) {
462
- return Math.floor(Math.random() * textures);
463
- }
464
- paused(paused) {
465
- var _a, _b, _c, _d;
466
- if (paused === this._paused)
467
- return;
468
- this._paused = paused;
469
- if (paused) {
470
- (_a = this._ticker) === null || _a === void 0 ? void 0 : _a.stop();
471
- (_b = this.emitter) === null || _b === void 0 ? void 0 : _b.pause();
472
- }
473
- else {
474
- (_c = this._ticker) === null || _c === void 0 ? void 0 : _c.start();
475
- (_d = this.emitter) === null || _d === void 0 ? void 0 : _d.resume();
476
- }
477
- }
478
- internalPause(paused) {
479
- if (this._paused)
480
- return;
481
- if (paused === this._internalPaused)
482
- return;
483
- this._internalPaused = paused;
484
- }
485
- getConfigIndexByName(name, config) {
486
- let index = -1;
487
- config.behaviours.forEach((behaviour, i) => {
488
- if (behaviour.name === name) {
489
- index = i;
490
- }
491
- });
492
- return index;
493
- }
494
- buildTurbulenceConfig(turbulenceConfig) {
495
- return {
496
- behaviours: [
497
- {
498
- enabled: true,
499
- priority: 10000,
500
- maxLifeTime: turbulenceConfig.maxLifeTime || 2,
501
- timeVariance: turbulenceConfig.maxLifeTimeVariance || 0,
502
- name: 'LifeBehaviour',
503
- },
504
- {
505
- priority: 100,
506
- spawnType: 'Ring',
507
- customPoints: [
508
- {
509
- radius: 0,
510
- position: {
511
- x: turbulenceConfig.position.x || 0,
512
- y: turbulenceConfig.position.y || 0,
513
- },
514
- positionVariance: {
515
- x: turbulenceConfig.positionVariance.x || 0,
516
- y: turbulenceConfig.positionVariance.y || 0,
517
- },
518
- },
519
- ],
520
- name: 'SpawnBehaviour',
521
- },
522
- {
523
- enabled: true,
524
- priority: 100,
525
- velocity: {
526
- x: turbulenceConfig.velocity.x || 0,
527
- y: turbulenceConfig.velocity.y || 0,
528
- },
529
- velocityVariance: {
530
- x: turbulenceConfig.velocityVariance.x || 0,
531
- y: turbulenceConfig.velocityVariance.y || 0,
532
- },
533
- acceleration: {
534
- x: turbulenceConfig.acceleration.x || 0,
535
- y: turbulenceConfig.acceleration.y || 0,
536
- },
537
- accelerationVariance: {
538
- x: turbulenceConfig.accelerationVariance.x || 0,
539
- y: turbulenceConfig.accelerationVariance.y || 0,
540
- },
541
- name: 'PositionBehaviour',
542
- },
543
- {
544
- enabled: true,
545
- priority: 0,
546
- sizeStart: {
547
- x: turbulenceConfig.sizeStart.x || 1,
548
- y: turbulenceConfig.sizeStart.y || 1,
549
- },
550
- sizeEnd: {
551
- x: turbulenceConfig.sizeEnd.x || 1,
552
- y: turbulenceConfig.sizeEnd.y || 1,
553
- },
554
- startVariance: turbulenceConfig.startVariance || 0,
555
- endVariance: turbulenceConfig.endVariance || 0,
556
- name: 'SizeBehaviour',
557
- },
558
- {
559
- enabled: true,
560
- priority: 0,
561
- rotation: 12,
562
- variance: 0,
563
- name: 'RotationBehaviour',
564
- },
565
- {
566
- enabled: true,
567
- priority: 0,
568
- showVortices: turbulenceConfig.showVortices || false,
569
- turbulence: true,
570
- name: 'TurbulenceBehaviour',
571
- },
572
- ],
573
- emitController: {
574
- _maxParticles: 0,
575
- _maxLife: 1,
576
- _emitPerSecond: turbulenceConfig.emitPerSecond || 2,
577
- _frames: 0,
578
- name: 'UniformEmission',
579
- },
580
- duration: turbulenceConfig.duration || -1,
581
- };
582
- }
583
- }
584
- //# sourceMappingURL=Renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/lib/pixi/Renderer.ts"],"names":[],"mappings":"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"}