Star.random constructor

Star.random({
  1. bool isBigStar = false,
  2. required dynamic starColors,
  3. required List<StarShape> starShapes,
  4. double sizeMultiplier = 1,
})

Implementation

factory Star.random({bool isBigStar = false, required starColors, required List<StarShape> starShapes, double sizeMultiplier = 1}) {
  final random = Random();

  return Star(
    Offset(random.nextDouble(), random.nextDouble()),
    (isBigStar ? (random.nextDouble() * 4 + 3) : (random.nextDouble() * 2 + 0.5)) * sizeMultiplier,
    random.nextDouble() * 0.5 + 0.3,
    random.nextDouble() * 2 + 1,
    random.nextDouble() * 2 - 1,
    starShapes[random.nextInt(starShapes.length)],
    isBigStar,
    random.nextDouble() * 2 * pi,
    starColors[random.nextInt(starColors.length)],
  );
}