custom-pixi-particles 5.2.0 → 8.0.0

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 (128) hide show
  1. package/README.md +119 -82
  2. package/package.json +5 -5
  3. package/dist/index.d.ts +0 -11
  4. package/dist/index.js +0 -28
  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 -220
  10. package/dist/lib/Particle.js +0 -172
  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 -57
  16. package/dist/lib/behaviour/AngularVelocityBehaviour.js +0 -87
  17. package/dist/lib/behaviour/AngularVelocityBehaviour.js.map +0 -1
  18. package/dist/lib/behaviour/Behaviour.d.ts +0 -33
  19. package/dist/lib/behaviour/Behaviour.js +0 -45
  20. package/dist/lib/behaviour/Behaviour.js.map +0 -1
  21. package/dist/lib/behaviour/BehaviourNames.d.ts +0 -11
  22. package/dist/lib/behaviour/BehaviourNames.js +0 -11
  23. package/dist/lib/behaviour/BehaviourNames.js.map +0 -1
  24. package/dist/lib/behaviour/ColorBehaviour.d.ts +0 -45
  25. package/dist/lib/behaviour/ColorBehaviour.js +0 -77
  26. package/dist/lib/behaviour/ColorBehaviour.js.map +0 -1
  27. package/dist/lib/behaviour/EmitDirectionBehaviour.d.ts +0 -46
  28. package/dist/lib/behaviour/EmitDirectionBehaviour.js +0 -64
  29. package/dist/lib/behaviour/EmitDirectionBehaviour.js.map +0 -1
  30. package/dist/lib/behaviour/EmitterBehaviours.d.ts +0 -63
  31. package/dist/lib/behaviour/EmitterBehaviours.js +0 -105
  32. package/dist/lib/behaviour/EmitterBehaviours.js.map +0 -1
  33. package/dist/lib/behaviour/LifeBehaviour.d.ts +0 -67
  34. package/dist/lib/behaviour/LifeBehaviour.js +0 -85
  35. package/dist/lib/behaviour/LifeBehaviour.js.map +0 -1
  36. package/dist/lib/behaviour/PositionBehaviour.d.ts +0 -177
  37. package/dist/lib/behaviour/PositionBehaviour.js +0 -534
  38. package/dist/lib/behaviour/PositionBehaviour.js.map +0 -1
  39. package/dist/lib/behaviour/RotationBehaviour.d.ts +0 -51
  40. package/dist/lib/behaviour/RotationBehaviour.js +0 -66
  41. package/dist/lib/behaviour/RotationBehaviour.js.map +0 -1
  42. package/dist/lib/behaviour/SizeBehaviour.d.ts +0 -31
  43. package/dist/lib/behaviour/SizeBehaviour.js +0 -71
  44. package/dist/lib/behaviour/SizeBehaviour.js.map +0 -1
  45. package/dist/lib/behaviour/TurbulenceBehaviour.d.ts +0 -72
  46. package/dist/lib/behaviour/TurbulenceBehaviour.js +0 -128
  47. package/dist/lib/behaviour/TurbulenceBehaviour.js.map +0 -1
  48. package/dist/lib/behaviour/index.d.ts +0 -12
  49. package/dist/lib/behaviour/index.js +0 -13
  50. package/dist/lib/behaviour/index.js.map +0 -1
  51. package/dist/lib/customPixiParticlesSettingsInterface.d.ts +0 -18
  52. package/dist/lib/customPixiParticlesSettingsInterface.js +0 -2
  53. package/dist/lib/customPixiParticlesSettingsInterface.js.map +0 -1
  54. package/dist/lib/emission/AbstractEmission.d.ts +0 -30
  55. package/dist/lib/emission/AbstractEmission.js +0 -39
  56. package/dist/lib/emission/AbstractEmission.js.map +0 -1
  57. package/dist/lib/emission/EmissionTypes.d.ts +0 -6
  58. package/dist/lib/emission/EmissionTypes.js +0 -6
  59. package/dist/lib/emission/EmissionTypes.js.map +0 -1
  60. package/dist/lib/emission/RandomEmission.d.ts +0 -44
  61. package/dist/lib/emission/RandomEmission.js +0 -66
  62. package/dist/lib/emission/RandomEmission.js.map +0 -1
  63. package/dist/lib/emission/StandardEmission.d.ts +0 -62
  64. package/dist/lib/emission/StandardEmission.js +0 -87
  65. package/dist/lib/emission/StandardEmission.js.map +0 -1
  66. package/dist/lib/emission/UniformEmission.d.ts +0 -56
  67. package/dist/lib/emission/UniformEmission.js +0 -83
  68. package/dist/lib/emission/UniformEmission.js.map +0 -1
  69. package/dist/lib/emission/index.d.ts +0 -6
  70. package/dist/lib/emission/index.js +0 -7
  71. package/dist/lib/emission/index.js.map +0 -1
  72. package/dist/lib/emitter/Duration.d.ts +0 -27
  73. package/dist/lib/emitter/Duration.js +0 -41
  74. package/dist/lib/emitter/Duration.js.map +0 -1
  75. package/dist/lib/emitter/Emitter.d.ts +0 -113
  76. package/dist/lib/emitter/Emitter.js +0 -201
  77. package/dist/lib/emitter/Emitter.js.map +0 -1
  78. package/dist/lib/emitter/index.d.ts +0 -3
  79. package/dist/lib/emitter/index.js +0 -4
  80. package/dist/lib/emitter/index.js.map +0 -1
  81. package/dist/lib/index.d.ts +0 -20
  82. package/dist/lib/index.js +0 -21
  83. package/dist/lib/index.js.map +0 -1
  84. package/dist/lib/parser/BehaviourParser.d.ts +0 -21
  85. package/dist/lib/parser/BehaviourParser.js +0 -72
  86. package/dist/lib/parser/BehaviourParser.js.map +0 -1
  87. package/dist/lib/parser/CompatibilityHelper.d.ts +0 -12
  88. package/dist/lib/parser/CompatibilityHelper.js +0 -19
  89. package/dist/lib/parser/CompatibilityHelper.js.map +0 -1
  90. package/dist/lib/parser/EmitControllerParser.d.ts +0 -27
  91. package/dist/lib/parser/EmitControllerParser.js +0 -39
  92. package/dist/lib/parser/EmitControllerParser.js.map +0 -1
  93. package/dist/lib/parser/EmitterParser.d.ts +0 -67
  94. package/dist/lib/parser/EmitterParser.js +0 -168
  95. package/dist/lib/parser/EmitterParser.js.map +0 -1
  96. package/dist/lib/parser/index.d.ts +0 -5
  97. package/dist/lib/parser/index.js +0 -6
  98. package/dist/lib/parser/index.js.map +0 -1
  99. package/dist/lib/pixi/Renderer.d.ts +0 -116
  100. package/dist/lib/pixi/Renderer.js +0 -508
  101. package/dist/lib/pixi/Renderer.js.map +0 -1
  102. package/dist/lib/util/Color.d.ts +0 -133
  103. package/dist/lib/util/Color.js +0 -173
  104. package/dist/lib/util/Color.js.map +0 -1
  105. package/dist/lib/util/List.d.ts +0 -49
  106. package/dist/lib/util/List.js +0 -87
  107. package/dist/lib/util/List.js.map +0 -1
  108. package/dist/lib/util/MinMax.d.ts +0 -34
  109. package/dist/lib/util/MinMax.js +0 -46
  110. package/dist/lib/util/MinMax.js.map +0 -1
  111. package/dist/lib/util/Point.d.ts +0 -34
  112. package/dist/lib/util/Point.js +0 -46
  113. package/dist/lib/util/Point.js.map +0 -1
  114. package/dist/lib/util/Random.d.ts +0 -24
  115. package/dist/lib/util/Random.js +0 -30
  116. package/dist/lib/util/Random.js.map +0 -1
  117. package/dist/lib/util/ThereBack.d.ts +0 -14
  118. package/dist/lib/util/ThereBack.js +0 -23
  119. package/dist/lib/util/ThereBack.js.map +0 -1
  120. package/dist/lib/util/index.d.ts +0 -5
  121. package/dist/lib/util/index.js +0 -6
  122. package/dist/lib/util/index.js.map +0 -1
  123. package/dist/lib/util/maths.d.ts +0 -10
  124. package/dist/lib/util/maths.js +0 -13
  125. package/dist/lib/util/maths.js.map +0 -1
  126. package/dist/lib/util/turbulencePool.d.ts +0 -4
  127. package/dist/lib/util/turbulencePool.js +0 -7
  128. package/dist/lib/util/turbulencePool.js.map +0 -1
@@ -1,534 +0,0 @@
1
- import { Point } from '../util';
2
- import { Behaviour, BehaviourNames } from './index';
3
- import MinMax from '../util/MinMax';
4
- import ThereBack from '../util/ThereBack';
5
- export default class PositionBehaviour extends Behaviour {
6
- constructor() {
7
- super(...arguments);
8
- this.enabled = false;
9
- this.priority = 100;
10
- this.spawnType = 'Rectangle';
11
- this.radius = 0;
12
- this.radiusX = 0;
13
- this.radiusY = 0;
14
- this.warp = false;
15
- this.warpSpeed = 0;
16
- this.warpBaseSpeed = 0;
17
- this.sinX = false;
18
- this.sinY = false;
19
- this.sinXVal = new Point();
20
- this.sinYVal = new Point();
21
- this.sinXValVariance = new Point();
22
- this.sinYValVariance = new Point();
23
- this.position = new Point();
24
- this.positionVariance = new Point();
25
- this.velocity = new Point();
26
- this.velocityVariance = new Point();
27
- this.acceleration = new Point();
28
- this.accelerationVariance = new Point();
29
- this.cameraZConverter = 10;
30
- this.warpFov = 20;
31
- this.warpStretch = 5;
32
- this.warpDistanceScaleConverter = 2000;
33
- this.warpDistanceToCenter = false;
34
- this.fromAtoB = false;
35
- this.fromAtoBTwoWays = false;
36
- this.pointA = new Point();
37
- this.pointB = new Point();
38
- this.thereDuration = new MinMax();
39
- this.thereAmplitude = new MinMax();
40
- this.backDuration = new MinMax();
41
- this.backAmplitude = new MinMax();
42
- this.there = new ThereBack();
43
- this.back = new ThereBack();
44
- /**
45
- * Function that initializes a particle
46
- * @param {Particle} particle - The particle to be initialized
47
- * @param {Model} model - The model of the particle
48
- */
49
- this.init = (particle, model) => {
50
- if (!this.fromAtoB) {
51
- if (this.spawnType === 'Rectangle') {
52
- particle.movement.x = this.calculate(this.position.x, this.positionVariance.x);
53
- particle.movement.y = this.calculate(this.position.y, this.positionVariance.y);
54
- }
55
- else if (this.spawnType === 'Ring') {
56
- const angle = Math.random() * Math.PI * 2;
57
- particle.movement.x = this.calculate(this.position.x, this.positionVariance.x) + Math.cos(angle) * this.radius;
58
- particle.movement.y = this.calculate(this.position.y, this.positionVariance.y) + Math.sin(angle) * this.radius;
59
- }
60
- else if (this.spawnType === 'Frame') {
61
- const w = this.radius;
62
- const h = this.radius;
63
- if (Math.random() < w / (w + h)) {
64
- particle.movement.x = Math.random() * w + particle.movement.x;
65
- particle.movement.y = Math.random() < 0.5 ? particle.movement.y : particle.movement.y + h - 1;
66
- }
67
- else {
68
- particle.movement.y = Math.random() * h + particle.movement.y;
69
- particle.movement.x = Math.random() < 0.5 ? particle.movement.x : particle.movement.x + w - 1;
70
- }
71
- particle.movement.x += this.calculate(this.position.x, this.positionVariance.x);
72
- particle.movement.y += this.calculate(this.position.y, this.positionVariance.y);
73
- }
74
- else if (this.spawnType === 'FrameRectangle') {
75
- const w = this.radiusX;
76
- const h = this.radiusY;
77
- if (Math.random() < w / (w + h)) {
78
- particle.movement.x = Math.random() * w + particle.movement.x;
79
- particle.movement.y = Math.random() < 0.5 ? particle.movement.y : particle.movement.y + h - 1;
80
- }
81
- else {
82
- particle.movement.y = Math.random() * h + particle.movement.y;
83
- particle.movement.x = Math.random() < 0.5 ? particle.movement.x : particle.movement.x + w - 1;
84
- }
85
- particle.movement.x += this.calculate(this.position.x, this.positionVariance.x);
86
- particle.movement.y += this.calculate(this.position.y, this.positionVariance.y);
87
- }
88
- particle.velocity.x = this.calculate(this.velocity.x, this.velocityVariance.x);
89
- particle.velocity.y = this.calculate(this.velocity.y, this.velocityVariance.y);
90
- particle.acceleration.x = this.calculate(this.acceleration.x, this.accelerationVariance.x);
91
- particle.acceleration.y = this.calculate(this.acceleration.y, this.accelerationVariance.y);
92
- if (this.sinX) {
93
- particle.sinXVal.x = this.calculate(this.sinXVal.x, this.sinXValVariance.x);
94
- particle.sinXVal.y = this.calculate(this.sinXVal.y, this.sinXValVariance.y);
95
- }
96
- if (this.sinY) {
97
- particle.sinYVal.x = this.calculate(this.sinYVal.x, this.sinYValVariance.x);
98
- particle.sinYVal.y = this.calculate(this.sinYVal.y, this.sinYValVariance.y);
99
- }
100
- particle.x = particle.movement.x;
101
- particle.y = particle.movement.y;
102
- this.restartWarp(particle, true, model);
103
- }
104
- else {
105
- particle.thereDuration =
106
- Math.random() * (this.thereDuration.max - this.thereDuration.min) + this.thereDuration.min;
107
- particle.thereAmplitude =
108
- Math.random() * (this.thereAmplitude.max - this.thereAmplitude.min) + this.thereAmplitude.min;
109
- particle.backDuration = Math.random() * (this.backDuration.max - this.backDuration.min) + this.backDuration.min;
110
- particle.backAmplitude =
111
- Math.random() * (this.backAmplitude.max - this.backAmplitude.min) + this.backAmplitude.min;
112
- particle.pointA.copyFrom(this.pointA);
113
- particle.pointB.copyFrom(this.pointB);
114
- particle.xStart = this.pointA.x;
115
- particle.yStart = this.pointA.y;
116
- particle.xTarget = this.pointB.x;
117
- particle.yTarget = this.pointB.y;
118
- particle.there.copyFrom(this.there);
119
- particle.back.copyFrom(this.back);
120
- }
121
- };
122
- /**
123
- * Restarts the warp of a particle
124
- * @param {Particle} particle - The particle to restart the warp on
125
- * @param {boolean} initial - True if this is the initial warp, false if it is a subsequent one
126
- * @param {Model} model - The model containing the camera Z property
127
- */
128
- this.restartWarp = (particle, initial, model) => {
129
- if (!this.warp)
130
- return;
131
- const { sizeStart } = particle;
132
- if (initial) {
133
- particle.z = Math.random() * this.warpDistanceScaleConverter;
134
- }
135
- else {
136
- particle.z = model.cameraZ + Math.random() * this.warpDistanceScaleConverter;
137
- }
138
- const distance = Math.random() * this.positionVariance.x + 1;
139
- const deg = Math.random() * (Math.PI * 2);
140
- particle.warpSizeStart.x = (1 - distance / this.positionVariance.x) * 0.5 * sizeStart.x;
141
- particle.warpSizeStart.y = (1 - distance / this.positionVariance.y) * 0.5 * sizeStart.y;
142
- if (this.warpDistanceToCenter) {
143
- particle.movement.x = Math.cos(deg) * distance;
144
- particle.movement.y = Math.sin(deg) * distance;
145
- }
146
- else {
147
- particle.x = Math.cos(deg) * distance;
148
- particle.y = Math.sin(deg) * distance;
149
- }
150
- particle.color.alpha = (1 - distance / this.positionVariance.x) * 0.5;
151
- };
152
- /**
153
- * Adds a random variance to the given value
154
- * @param {number} value - The value to calculate
155
- * @param {number} variance - The random variance to add
156
- * @returns {number} The calculated value
157
- */
158
- this.calculate = (value, variance) => {
159
- return value + this.varianceFrom(variance);
160
- };
161
- /**
162
- * Applies the particle's velocity and acceleration to move it and calculate its size, rotation, and position.
163
- * @param {Particle} particle - The particle to be moved
164
- * @param {number} deltaTime - The time delta for the movement calculation
165
- * @param {Model} model - The model containing information about the particle's movement
166
- */
167
- this.apply = (particle, deltaTime, model) => {
168
- if (!this.fromAtoB) {
169
- const { acceleration, sinXVal, sinYVal, z, warpSizeStart, movement } = particle;
170
- const { cameraZ } = model;
171
- const PI = Math.PI;
172
- particle.velocity.x += acceleration.x * deltaTime;
173
- particle.velocity.y += acceleration.y * deltaTime;
174
- const movementX = movement.x + particle.velocity.x * deltaTime;
175
- const movementY = movement.y + particle.velocity.y * deltaTime;
176
- particle.movement.x = movementX;
177
- particle.movement.y = movementY;
178
- if (this.sinX) {
179
- particle.x = movementX + Math.sin(PI * (movementY / sinXVal.x)) * sinXVal.y;
180
- }
181
- else {
182
- particle.x = movementX;
183
- }
184
- if (this.sinY) {
185
- particle.y = movementY + Math.sin(PI * (movementX / sinYVal.x)) * sinYVal.y;
186
- }
187
- else {
188
- particle.y = movementY;
189
- }
190
- if (model.warp) {
191
- if (z < cameraZ) {
192
- this.restartWarp(particle, false, model);
193
- }
194
- const newZ = z - cameraZ;
195
- const dxCenter = movementX;
196
- const dyCenter = movementY;
197
- const distanceCenter = Math.sqrt(dxCenter * dxCenter + dyCenter * dyCenter);
198
- const distanceScale = Math.max(0, (this.warpDistanceScaleConverter - newZ) / this.warpDistanceScaleConverter);
199
- const fovZ = this.warpFov / newZ;
200
- particle.x = movementX * fovZ;
201
- particle.y = movementY * fovZ;
202
- particle.size.x = distanceScale * warpSizeStart.x;
203
- particle.size.y =
204
- distanceScale * warpSizeStart.y + distanceScale * this.warpSpeed * this.warpStretch * distanceCenter;
205
- particle.rotation = Math.atan2(dyCenter, dxCenter) + PI / 2;
206
- }
207
- }
208
- else {
209
- let progress = particle.progress;
210
- if (this.fromAtoBTwoWays && progress >= 1) {
211
- particle.direction = -particle.direction;
212
- particle.progress = 0;
213
- progress = 0;
214
- particle.time = 0;
215
- }
216
- else if (progress > 1) {
217
- return;
218
- }
219
- let easedProgress = progress;
220
- if (particle.direction === 1) {
221
- if (particle.there.ease === 'back.inOut') {
222
- easedProgress = this._easeBackInOut(progress);
223
- }
224
- else if (particle.there.ease === 'back.in') {
225
- easedProgress = this._easeBackIn(progress);
226
- }
227
- else if (particle.there.ease === 'back.out') {
228
- easedProgress = this._easeBackOut(progress);
229
- }
230
- else if (particle.there.ease === 'power1.in') {
231
- easedProgress = this._easePower1In(progress);
232
- }
233
- else if (particle.there.ease === 'power1.out') {
234
- easedProgress = this._easePower1Out(progress);
235
- }
236
- else if (particle.there.ease === 'power1.inOut') {
237
- easedProgress = this._easePower1InOut(progress);
238
- }
239
- else if (particle.there.ease === 'bounce.in') {
240
- easedProgress = this._easeBounceIn(progress);
241
- }
242
- else if (particle.there.ease === 'bounce.out') {
243
- easedProgress = this._easeBounceOut(progress);
244
- }
245
- else if (particle.there.ease === 'bounce.inOut') {
246
- easedProgress = this._easeBounceInOut(progress);
247
- }
248
- else if (particle.there.ease === 'elastic.in') {
249
- easedProgress = this._easeElasticIn(progress);
250
- }
251
- else if (particle.there.ease === 'elastic.out') {
252
- easedProgress = this._easeElasticOut(progress);
253
- }
254
- else if (particle.there.ease === 'elastic.inOut') {
255
- easedProgress = this._easeElasticInOut(progress);
256
- }
257
- else if (particle.there.ease === 'steps') {
258
- easedProgress = this._easeSteps(progress);
259
- }
260
- const xInterpolated = this._lerp(particle.xStart, particle.xTarget, easedProgress);
261
- const yInterpolated = this._lerp(particle.yStart, particle.yTarget, easedProgress);
262
- if (particle.there.x === 'Sin') {
263
- particle.x = xInterpolated + Math.sin(progress * Math.PI) * particle.thereAmplitude;
264
- }
265
- else if (particle.there.x === 'Cos') {
266
- particle.x = xInterpolated + Math.cos(progress * Math.PI) * particle.thereAmplitude;
267
- }
268
- else if (particle.there.x === 'Tan') {
269
- particle.x = xInterpolated + Math.tan(progress * Math.PI) * particle.thereAmplitude;
270
- }
271
- else {
272
- particle.x = xInterpolated + easedProgress;
273
- }
274
- // console.log(particle.there)
275
- if (particle.there.y === 'Sin') {
276
- particle.y = yInterpolated + Math.sin(progress * Math.PI) * particle.thereAmplitude;
277
- }
278
- else if (particle.there.y === 'Cos') {
279
- particle.y = yInterpolated + Math.cos(progress * Math.PI) * particle.thereAmplitude;
280
- }
281
- else if (particle.there.y === 'Tan') {
282
- particle.y = yInterpolated + Math.tan(progress * Math.PI) * particle.thereAmplitude;
283
- }
284
- else {
285
- particle.y = yInterpolated + easedProgress;
286
- }
287
- }
288
- else {
289
- if (particle.back.ease === 'back.inOut') {
290
- easedProgress = this._easeBackInOut(progress);
291
- }
292
- else if (particle.back.ease === 'back.in') {
293
- easedProgress = this._easeBackIn(progress);
294
- }
295
- else if (particle.back.ease === 'back.out') {
296
- easedProgress = this._easeBackOut(progress);
297
- }
298
- else if (particle.back.ease === 'power1.in') {
299
- easedProgress = this._easePower1In(progress);
300
- }
301
- else if (particle.back.ease === 'power1.out') {
302
- easedProgress = this._easePower1Out(progress);
303
- }
304
- else if (particle.back.ease === 'power1.inOut') {
305
- easedProgress = this._easePower1InOut(progress);
306
- }
307
- else if (particle.back.ease === 'bounce.in') {
308
- easedProgress = this._easeBounceIn(progress);
309
- }
310
- else if (particle.back.ease === 'bounce.out') {
311
- easedProgress = this._easeBounceOut(progress);
312
- }
313
- else if (particle.back.ease === 'bounce.inOut') {
314
- easedProgress = this._easeBounceInOut(progress);
315
- }
316
- else if (particle.back.ease === 'elastic.in') {
317
- easedProgress = this._easeElasticIn(progress);
318
- }
319
- else if (particle.back.ease === 'elastic.out') {
320
- easedProgress = this._easeElasticOut(progress);
321
- }
322
- else if (particle.back.ease === 'elastic.inOut') {
323
- easedProgress = this._easeElasticInOut(progress);
324
- }
325
- else if (particle.back.ease === 'steps') {
326
- easedProgress = this._easeSteps(progress);
327
- }
328
- const xInterpolated = this._lerp(particle.xTarget, particle.xStart, easedProgress);
329
- const yInterpolated = this._lerp(particle.yTarget, particle.yStart, easedProgress);
330
- if (particle.back.x === 'Sin') {
331
- particle.x = xInterpolated + Math.sin(progress * Math.PI) * particle.backAmplitude;
332
- }
333
- else if (particle.back.x === 'Cos') {
334
- particle.x = xInterpolated + Math.cos(progress * Math.PI) * particle.backAmplitude;
335
- }
336
- else if (particle.back.x === 'Tan') {
337
- particle.x = xInterpolated + Math.tan(progress * Math.PI) * particle.backAmplitude;
338
- }
339
- else {
340
- particle.x = xInterpolated + easedProgress;
341
- }
342
- // console.log(particle.there)
343
- if (particle.back.y === 'Sin') {
344
- particle.y = yInterpolated + Math.sin(progress * Math.PI) * particle.backAmplitude;
345
- }
346
- else if (particle.back.y === 'Cos') {
347
- particle.y = yInterpolated + Math.cos(progress * Math.PI) * particle.backAmplitude;
348
- }
349
- else if (particle.back.y === 'Tan') {
350
- particle.y = yInterpolated + Math.tan(progress * Math.PI) * particle.backAmplitude;
351
- }
352
- else {
353
- particle.y = yInterpolated + easedProgress;
354
- }
355
- }
356
- particle.time += deltaTime;
357
- if (particle.direction === 1) {
358
- particle.progress = particle.time / particle.thereDuration;
359
- }
360
- else {
361
- particle.progress = particle.time / particle.backDuration;
362
- }
363
- }
364
- };
365
- }
366
- /**
367
- * Gets the name of the behaviour
368
- * @return {BehaviourNames} The name of the behaviour
369
- */
370
- getName() {
371
- return BehaviourNames.POSITION_BEHAVIOUR;
372
- }
373
- _lerp(start, end, t) {
374
- return start * (1 - t) + end * t;
375
- }
376
- _easeBackInOut(t, c1 = 1.70158, c2 = c1 * 1.525) {
377
- return t < 0.5
378
- ? (Math.pow(2 * t, 2) * ((c2 + 1) * 2 * t - c2)) / 2
379
- : (Math.pow(2 * t - 2, 2) * ((c2 + 1) * (t * 2 - 2) + c2) + 2) / 2;
380
- }
381
- _easeBackIn(t, c1 = 1.70158) {
382
- t = Math.min(Math.max(t, 0), 1);
383
- return t * t * ((c1 + 1) * t - c1);
384
- }
385
- _easeBackOut(t, c1 = 1.70158) {
386
- t = Math.min(Math.max(t, 0), 1);
387
- const tInv = t - 1;
388
- return tInv * tInv * ((c1 + 1) * tInv + c1) + 1;
389
- }
390
- _easePower1In(t) {
391
- return t;
392
- }
393
- _easePower1Out(t) {
394
- return 1 - Math.pow(1 - t, 2);
395
- }
396
- _easePower1InOut(t) {
397
- return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;
398
- }
399
- _easeBounceIn(t) {
400
- return 1 - this._easeBounceOut(1 - t);
401
- }
402
- _easeBounceOut(t) {
403
- const n1 = 7.5625;
404
- const d1 = 2.75;
405
- if (t < 1 / d1) {
406
- return n1 * t * t;
407
- }
408
- else if (t < 2 / d1) {
409
- return n1 * (t -= 1.5 / d1) * t + 0.75;
410
- }
411
- else if (t < 2.5 / d1) {
412
- return n1 * (t -= 2.25 / d1) * t + 0.9375;
413
- }
414
- else {
415
- return n1 * (t -= 2.625 / d1) * t + 0.984375;
416
- }
417
- }
418
- _easeBounceInOut(t) {
419
- return t < 0.5 ? (1 - this._easeBounceOut(1 - 2 * t)) / 2 : (1 + this._easeBounceOut(2 * t - 1)) / 2;
420
- }
421
- _easeElasticIn(t) {
422
- const c4 = (2 * Math.PI) / 3;
423
- return t === 0 ? 0 : t === 1 ? 1 : -Math.pow(2, 10 * t - 10) * Math.sin((t * 10 - 10.75) * c4);
424
- }
425
- _easeElasticOut(t) {
426
- const c4 = (2 * Math.PI) / 3;
427
- return t === 0 ? 0 : t === 1 ? 1 : Math.pow(2, -10 * t) * Math.sin((t * 10 - 0.75) * c4) + 1;
428
- }
429
- _easeElasticInOut(t) {
430
- const c5 = (2 * Math.PI) / 4.5;
431
- return t === 0
432
- ? 0
433
- : t === 1
434
- ? 1
435
- : t < 0.5
436
- ? -(Math.pow(2, 20 * t - 10) * Math.sin((20 * t - 11.125) * c5)) / 2
437
- : (Math.pow(2, -20 * t + 10) * Math.sin((20 * t - 11.125) * c5)) / 2 + 1;
438
- }
439
- _easeSteps(t, numSteps = 12) {
440
- const stepSize = 1 / numSteps;
441
- const stepIndex = Math.floor(t / stepSize);
442
- return stepIndex * stepSize;
443
- }
444
- /**
445
- * @description Retrieves the properties of the object.
446
- * @returns {Object} The properties of the object.
447
- */
448
- getProps() {
449
- return {
450
- enabled: this.enabled,
451
- priority: this.priority,
452
- spawnType: this.spawnType,
453
- radius: this.radius,
454
- radiusX: this.radiusX,
455
- radiusY: this.radiusY,
456
- fromAtoB: this.fromAtoB,
457
- fromAtoBTwoWays: this.fromAtoBTwoWays,
458
- there: {
459
- x: this.there.x,
460
- y: this.there.y,
461
- ease: this.there.ease,
462
- },
463
- back: {
464
- x: this.back.x,
465
- y: this.back.y,
466
- ease: this.back.ease,
467
- },
468
- pointA: {
469
- x: this.pointA.x,
470
- y: this.pointA.y,
471
- },
472
- pointB: {
473
- x: this.pointB.x,
474
- y: this.pointB.y,
475
- },
476
- thereDuration: {
477
- x: this.thereDuration.min,
478
- y: this.thereDuration.max,
479
- },
480
- thereAmplitude: {
481
- x: this.thereAmplitude.min,
482
- y: this.thereAmplitude.max,
483
- },
484
- backDuration: {
485
- x: this.backDuration.min,
486
- y: this.backDuration.max,
487
- },
488
- backAmplitude: {
489
- x: this.backAmplitude.min,
490
- y: this.backAmplitude.max,
491
- },
492
- warp: this.warp,
493
- sinX: this.sinX,
494
- sinY: this.sinY,
495
- sinXVal: this.sinXVal,
496
- sinYVal: this.sinYVal,
497
- sinXValVariance: this.sinXValVariance,
498
- sinYValVariance: this.sinYValVariance,
499
- position: {
500
- x: this.position.x,
501
- y: this.position.y,
502
- },
503
- positionVariance: {
504
- x: this.positionVariance.x,
505
- y: this.positionVariance.y,
506
- },
507
- velocity: {
508
- x: this.velocity.x,
509
- y: this.velocity.y,
510
- },
511
- velocityVariance: {
512
- x: this.velocityVariance.x,
513
- y: this.velocityVariance.y,
514
- },
515
- acceleration: {
516
- x: this.acceleration.x,
517
- y: this.acceleration.y,
518
- },
519
- accelerationVariance: {
520
- x: this.accelerationVariance.x,
521
- y: this.accelerationVariance.y,
522
- },
523
- warpSpeed: this.warpSpeed,
524
- warpBaseSpeed: this.warpBaseSpeed,
525
- cameraZConverter: this.warpBaseSpeed,
526
- warpFov: this.warpFov,
527
- warpStretch: this.warpStretch,
528
- warpDistanceScaleConverter: this.warpDistanceScaleConverter,
529
- warpDistanceToCenter: this.warpDistanceToCenter,
530
- name: this.getName(),
531
- };
532
- }
533
- }
534
- //# sourceMappingURL=PositionBehaviour.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PositionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/PositionBehaviour.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import { Behaviour } from './index';
2
- import Particle from '../Particle';
3
- /**
4
- * RotationBehaviour is a Behaviour class used to control the rotation of particles.
5
- * @extends Behaviour
6
- */
7
- export default class RotationBehaviour extends Behaviour {
8
- /**
9
- * @type {boolean} enabled - Enable or disable the Behaviour
10
- */
11
- enabled: boolean;
12
- /**
13
- * @type {number} priority - The priority of the Behaviour.
14
- */
15
- priority: number;
16
- /**
17
- * @type {number} rotation - The amount of rotation to apply on each particle.
18
- */
19
- rotation: number;
20
- /**
21
- * @type {number} variance - The amount of variance to apply on the particle's rotation.
22
- */
23
- variance: number;
24
- /**
25
- * Initialise the Behaviour for a particle
26
- * @param {Particle} particle - The particle to be initialised
27
- */
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
- */
34
- apply: (particle: Particle, deltaTime: number) => void;
35
- /**
36
- * Gets the name of the Behaviour
37
- * @returns {string} - The name of the Behaviour
38
- */
39
- getName(): string;
40
- /**
41
- * Gets the properties of the Behaviour
42
- * @returns {object} - The properties of the Behaviour
43
- */
44
- getProps(): {
45
- enabled: boolean;
46
- priority: number;
47
- rotation: number;
48
- variance: number;
49
- name: string;
50
- };
51
- }