updateParticles method
Per-frame update for burst particles. Called by engine's _engine() loop.
Implementation
void updateParticles(
double deltaTime,
double width,
double height,
Size size,
) {
tickController(size);
final pool = _pool;
if (pool == null) return;
for (int i = 0; i < pool.length; i++) {
final p = pool[i];
if (p.lifetime != null && p.isExpired) continue;
if (p.lifetime != null) {
p.updateAge = p.age + deltaTime;
if (p.isExpired) continue;
_updateLifetime(p);
}
if (enableTrails && p.trailEnabled) p.pushTrailPosition(p.position);
final dx = p.position.dx + deltaTime * p.currentVelocity.dx;
final dy = p.position.dy + deltaTime * p.currentVelocity.dy;
p.updatePosition = Offset(dx, dy);
if (physics != null) {
p.updateVelocity = physics!.applyGravity(p.currentVelocity, deltaTime);
}
p.updateRotation = p.rotation + deltaTime * p.rotationSpeed;
}
}