generate method
Generates an item of type T
Implementation
@override
Kingdom generate() {
final leadersGenerator = _governmentType.getNumberOfLeadersGenerator();
leadersGenerator.seed((_seed + 1) % SeedGenerator.generate());
final numberOfLeaders = leadersGenerator.generate();
final nameGenerator = _kingdomType.getNameGenerator(_race);
nameGenerator.seed((_seed + 2) % SeedGenerator.maxSeed);
final name = nameGenerator.generate();
final numberOfGuildsGenerator =
NumberGenerator(_minNumberOfGuilds, _maxNumberOfGuilds + 1);
numberOfGuildsGenerator.seed((_seed + 3) % SeedGenerator.maxSeed);
final numberOfGuilds = numberOfGuildsGenerator.generate();
final numberOfHolidaysGenerator =
NumberGenerator(_minNumberOfHolidays, _maxNumberOfHolidays)
..seed((_seed + 4) % SeedGenerator.maxSeed);
final holidayTypesGenerator = RepeatedGenerator(
_kingdomType.getHolidayTypeGenerator(),
numberOfHolidaysGenerator.generate(),
)..seed((_seed + 5) % SeedGenerator.maxSeed);
final holidayTypes = holidayTypesGenerator.generate();
final generator = BatchGenerator(_getBatch(
numberOfLeaders,
numberOfGuilds,
_governmentType,
name,
holidayTypes,
));
generator.seed((_seed + 6) % SeedGenerator.maxSeed);
Kingdom kingdom = Kingdom.fromShallowMap(generator.generate());
if (_kingdomType is Fixable<Kingdom>) {
kingdom = (_kingdomType as Fixable).getFixed(kingdom);
}
return kingdom;
}