Exemplo n.º 1
0
        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;
                }
                }
            }
        }