generate method

  1. @override
Emblem generate()
override

Generates an item of type T

Implementation

@override
Emblem generate() {
  final primaryColorGenerator = _emblemType.getPrimaryColorGenerator();
  primaryColorGenerator.seed(_seed);
  final primaryColor = primaryColorGenerator.generate();

  final secondaryColorGenerator =
      _emblemType.getSecondaryColorGenerator(primaryColor);
  secondaryColorGenerator.seed((_seed + 1) % SeedGenerator.maxSeed);
  final secondaryColor = secondaryColorGenerator.generate();

  final iconCountGenerator = _emblemType.getIconsCountGenerator();
  iconCountGenerator.seed((_seed + 2) % SeedGenerator.maxSeed);
  final iconCount = iconCountGenerator.generate();

  final generator =
      BatchGenerator(_getBatch(primaryColor, secondaryColor, iconCount));
  generator.seed((_seed + 3) % SeedGenerator.maxSeed);

  return Emblem.fromShallowMap(generator.generate());
}