コード例 #1
0
        private static void TestQuestPart()
        {
            List <DebugMenuOption> list = new List <DebugMenuOption>();

            foreach (Type item in typeof(QuestPart).AllSubclassesNonAbstract())
            {
                Type localQuestPartType = item;
                list.Add(new DebugMenuOption(localQuestPartType.Name, DebugMenuOptionMode.Action, delegate
                {
                    Quest quest         = Quest.MakeRaw();
                    quest.name          = "DEBUG QUEST (" + localQuestPartType.Name + ")";
                    QuestPart questPart = (QuestPart)Activator.CreateInstance(localQuestPartType);
                    quest.AddPart(questPart);
                    questPart.AssignDebugData();
                    quest.description = "A debug quest to test " + localQuestPartType.Name + "\n\n" + Scribe.saver.DebugOutputFor(questPart);
                    Find.QuestManager.Add(quest);
                    Find.LetterStack.ReceiveLetter("Dev: Quest", quest.description, LetterDefOf.PositiveEvent, LookTargets.Invalid, null, quest);
                }));
            }
            Find.WindowStack.Add(new Dialog_DebugOptionListLister(list));
        }