public static ItemLocationMap Randomize(Seed seed, FillingMethod fillingMethod, bool progressionOnly = false) { var unlockingMap = new ItemUnlockingMap(seed); var itemInfoProvider = new ItemInfoProvider(seed.Options, unlockingMap); var itemLocations = new ItemLocationMap(itemInfoProvider, unlockingMap, seed.Options); switch (fillingMethod) { case FillingMethod.Forward: ForwardFillingItemLocationRandomizer.AddRandomItemsToLocationMap(seed, itemInfoProvider, unlockingMap, itemLocations, progressionOnly); break; case FillingMethod.Random: FullRandomItemLocationRandomizer.AddRandomItemsToLocationMap(seed, itemInfoProvider, unlockingMap, itemLocations, progressionOnly); break; default: throw new NotImplementedException($"filling method {fillingMethod} is not implemented"); } return(itemLocations); }
public HintGenerator(ItemLocationMap itemLocations, Level level) { this.itemLocations = itemLocations; this.level = level; }