emit method

Future<void> emit(
  1. List<Particle> particles,
  2. List<Particle> render
)

Implementation

Future<void> emit(List<Particle> particles, List<Particle> render) async {
  var rng = Random();

  for (int index = 0; index < particles.length;) {
    for (int cluster = 0;
        cluster < clusterSize && index < particles.length;
        cluster++) {
      particles[index].updatePosition = Offset(
        startPosition.dx + ((rng.nextDouble() * 2 - 1) * startPositionRadius),
        startPosition.dy + ((rng.nextDouble() * 2 - 1) * startPositionRadius),
      );
      render.add(particles[index]);
      index++;
    }

    await Future.delayed(delay);
  }
}