static void OnSpoilerLogCreationAccepted(GameSave save) { var seed = save.GetSeed(); if (!seed.HasValue) { return; } using (var file = new StreamWriter(GetFileName(seed.Value))) { file.WriteLine($"Seed: {seed}"); file.WriteLine($"Timespinner version: v{TimeSpinnerGame.Constants.GameVersion}"); file.WriteLine($"TsRandomizer version: v{Assembly.GetExecutingAssembly().GetName().Version}"); var itemLocations = Randomizer.Randomize(seed.Value, save.GetFillingMethod()); var progressionItems = itemLocations.Where(l => l.ItemInfo.Unlocks != Requirement.None); var otherItems = itemLocations.Where(l => l.ItemInfo.Unlocks == Requirement.None); WriteProgressionChain(file, itemLocations); WriteItemListSection(file, progressionItems, "Progression Items:"); WriteItemListSection(file, otherItems, "Other Locations:"); } }
void OnSpoilerLogCreationAccepted(GameSave save) { var fillingMethod = save.GetFillingMethod(); if (fillingMethod == FillingMethod.Archipelago) { var messageBox = MessageBox.Create(ScreenManager, "Not supported for Archipelago based seed"); ScreenManager.AddScreen(messageBox.Screen, GameScreen.ControllingPlayer); return; } var seed = save.GetSeed(); if (!seed.HasValue) { return; } using (var file = new StreamWriter(GetFileName(seed.Value))) { file.WriteLine($"Seed: {seed.Value}"); file.WriteLine($"Timespinner version: v{TimeSpinnerGame.Constants.GameVersion}"); file.WriteLine($"TsRandomizer version: v{Assembly.GetExecutingAssembly().GetName().Version}"); var itemLocations = Randomizer.Randomize(seed.Value, fillingMethod, save); var progressionItems = itemLocations.Where(l => l.ItemInfo.Unlocks != Requirement.None); var otherItems = itemLocations.Where(l => l.ItemInfo.Unlocks == Requirement.None); WriteProgressionChain(file, itemLocations); WriteItemListSection(file, progressionItems, "Progression Items:"); WriteItemListSection(file, otherItems, "Other Locations:"); } }