Skip to content

Commit 76f95ad

Browse files
committed
fix: fixed some issues with emitters/absorbers life
fix: removed Date usage, used performance.now() instead fix: improved loading of ParticlesDrawer options
1 parent d96130b commit 76f95ad

5 files changed

Lines changed: 7 additions & 7 deletions

File tree

effects/particles/src/ParticlesDrawer.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ export class ParticlesDrawer implements IEffectDrawer<ParticlesParticle> {
6565
}
6666

6767
particleInit(_container: Container, particle: ParticlesParticle): void {
68-
const effectData = particle.effectData as IParticlesData,
69-
spawnRate = getRangeValue(effectData.spawn?.rate?.delay ?? defaultSpawnRate);
68+
const effectData = particle.effectData as IParticlesData | undefined,
69+
spawnRate = getRangeValue(effectData?.spawn?.rate?.delay ?? defaultSpawnRate);
7070

71-
particle.particlesSpawnQuantity = getRangeValue(effectData.spawn?.rate?.quantity ?? defaultSpawnQuantity);
71+
particle.particlesSpawnQuantity = getRangeValue(effectData?.spawn?.rate?.quantity ?? defaultSpawnQuantity);
7272
particle.particlesSpawnRate = (spawnRate > minSpawnRate ? spawnRate : defaultSpawnRate) * millisecondsToSeconds;
7373
particle.particlesNextSpawn = performance.now() + particle.particlesSpawnRate;
7474
particle.particlesData = effectData;

interactions/external/bubble/src/Bubbler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ export class Bubbler extends ExternalInteractorBase<BubbleContainer> {
195195
const pos = particle.getPosition(),
196196
distMouse = getDistance(pos, mouseClickPos),
197197
timeSpent =
198-
(new Date().getTime() - (interactivityData.mouse.clickTime ?? defaultClickTime)) / millisecondsToSeconds;
198+
(performance.now() - (interactivityData.mouse.clickTime ?? defaultClickTime)) / millisecondsToSeconds;
199199

200200
if (timeSpent > bubbleOptions.duration) {
201201
bubble.durationEnd = true;

plugins/absorbers/src/AbsorberInstance.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ export class AbsorberInstance {
279279
if (this._currentSpawnDelay >= this._spawnDelay) {
280280
this.play();
281281

282-
this._currentSpawnDelay -= this._currentSpawnDelay;
282+
this._currentSpawnDelay -= this._spawnDelay;
283283

284284
delete this._spawnDelay;
285285
}

plugins/emitters/src/EmitterInstance.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ export class EmitterInstance {
301301

302302
this.play();
303303

304-
this._currentSpawnDelay -= this._currentSpawnDelay;
304+
this._currentSpawnDelay -= this._spawnDelay;
305305

306306
delete this._spawnDelay;
307307
}

plugins/interactivity/src/InteractivityEventListeners.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ export class InteractivityEventListeners {
131131
}
132132

133133
mouseInteractivity.clickPosition = { ...mousePos };
134-
mouseInteractivity.clickTime = Date.now();
134+
mouseInteractivity.clickTime = performance.now();
135135

136136
const onClick = options.interactivity?.events.onClick;
137137

0 commit comments

Comments
 (0)