RouletteGroup.uniformImages constructor

RouletteGroup.uniformImages(
  1. int itemCount, {
  2. required IndexBuilder<ImageProvider<Object>> imageBuilder,
  3. IndexBuilder<Color>? colorBuilder,
  4. IndexBuilder<String?>? textBuilder,
  5. IndexBuilder<TextStyle>? styleBuilder,
})

Helper function to create a even RouletteGroup. itemCount is the number of items in the group. imageBuilder is a function that return the image of the unit. colorBuilder is a function that return the color of the unit.

Implementation

factory RouletteGroup.uniformImages(
  int itemCount, {
  required IndexBuilder<ImageProvider> imageBuilder,
  IndexBuilder<Color>? colorBuilder,
  IndexBuilder<String?>? textBuilder,
  IndexBuilder<TextStyle>? styleBuilder,
}) {
  final units = <RouletteUnit>[];

  for (int i = 0; i < itemCount; i += 1) {
    units.add(
      RouletteUnit(
        text: textBuilder?.call(i),
        image: imageBuilder.call(i),
        color: colorBuilder?.call(i) ?? Colors.blue,
        textStyle:
            RouletteStyle.defaultIconStyle.merge(styleBuilder?.call(i)),
        weight: 1,
      ),
    );
  }

  return RouletteGroup(units);
}