public static string Roll_For_Stage() { StageLists stageLists = Program.stageLists; ListWiper.Wipe_A_List_Clean(stageLists.userStages); foreach (string stages in stageLists.userStagesDefault) { stageLists.userStages.Add(stages); } StageFilter.Filter_Out_Unselected_Stages_From_Pool_Of_Maps(stageLists); Random randomNumberGenerator = Program.randomNumberGenerator; try { return(stageLists.userStages[randomNumberGenerator.Next(0, stageLists.userStages.Count)]); } catch (ArgumentOutOfRangeException) { return("Stage Not Found!"); } }
public static void Filter_Out_Unselected_Stages_From_Pool_Of_Maps(StageLists stageLists) { for (int i = 0; i < stageLists.chaptersToFilterOut.Count; i++) { switch (stageLists.chaptersToFilterOut[i]) { case "Prologue": { for (int x = 0; x < stageLists.prologueStages.Count; x++) { stageLists.userStages.Remove(stageLists.prologueStages[x]); } break; } case "Chapter 1": { for (int x = 0; x < stageLists.chapterOneStages.Count; x++) { stageLists.userStages.Remove(stageLists.chapterOneStages[x]); } break; } case "Chapter 2": { for (int x = 0; x < stageLists.chapterTwoStages.Count; x++) { stageLists.userStages.Remove(stageLists.chapterTwoStages[x]); } break; } case "Chapter 3": { for (int x = 0; x < stageLists.chapterThreeStages.Count; x++) { stageLists.userStages.Remove(stageLists.chapterThreeStages[x]); } break; } case "Chapter 4": { for (int x = 0; x < stageLists.chapterFourStages.Count; x++) { stageLists.userStages.Remove(stageLists.chapterFourStages[x]); } break; } case "Chapter 5": { for (int x = 0; x < stageLists.chapterFiveStages.Count; x++) { stageLists.userStages.Remove(stageLists.chapterFiveStages[x]); } break; } case "Chapter 6": { for (int x = 0; x < stageLists.chapterSixStages.Count; x++) { stageLists.userStages.Remove(stageLists.chapterSixStages[x]); } break; } case "Chapter 7": { for (int x = 0; x < stageLists.chapterSevenStages.Count; x++) { stageLists.userStages.Remove(stageLists.chapterSevenStages[x]); } break; } } } }