Exemple #1
0
        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;
 }