Exemplo n.º 1
0
        public static List <DebugMenuOption> Options_ApplyDamage()
        {
            List <DebugMenuOption> list = new List <DebugMenuOption>();

            foreach (DamageDef current in DefDatabase <DamageDef> .AllDefs)
            {
                DamageDef localDef = current;
                list.Add(new DebugMenuOption(localDef.LabelCap, DebugMenuOptionMode.Tool, delegate
                {
                    Pawn pawn = Find.VisibleMap.thingGrid.ThingsAt(UI.MouseCell()).OfType <Pawn>().FirstOrDefault <Pawn>();
                    if (pawn != null)
                    {
                        Find.WindowStack.Add(new Dialog_DebugOptionListLister(DebugTools_Health.Options_Damage_BodyParts(pawn, localDef)));
                    }
                }));
            }
            return(list);
        }
Exemplo n.º 2
0
        public static List <DebugMenuOption> Options_AddHediff()
        {
            List <DebugMenuOption> list = new List <DebugMenuOption>();

            foreach (Type current in (from t in typeof(Hediff).AllSubclasses()
                                      where !t.IsAbstract
                                      select t).Concat(Gen.YieldSingle <Type>(typeof(Hediff))))
            {
                Type localDiffType = current;
                if (localDiffType != typeof(Hediff_Injury))
                {
                    list.Add(new DebugMenuOption(localDiffType.ToString(), DebugMenuOptionMode.Action, delegate
                    {
                        Find.WindowStack.Add(new Dialog_DebugOptionListLister(DebugTools_Health.Options_HediffsDefs(localDiffType)));
                    }));
                }
            }
            return(list);
        }
        public static List <DebugMenuOption> Options_AddHediff()
        {
            List <DebugMenuOption> list = new List <DebugMenuOption>();

            foreach (HediffDef localDef2 in from d in DefDatabase <HediffDef> .AllDefs
                     orderby d.hediffClass.ToStringSafe <Type>()
                     select d)
            {
                HediffDef localDef = localDef2;
                list.Add(new DebugMenuOption(localDef.LabelCap, DebugMenuOptionMode.Tool, delegate()
                {
                    Pawn pawn = Find.CurrentMap.thingGrid.ThingsAt(UI.MouseCell()).Where((Thing t) => t is Pawn).Cast <Pawn>().FirstOrDefault <Pawn>();
                    if (pawn != null)
                    {
                        Find.WindowStack.Add(new Dialog_DebugOptionListLister(DebugTools_Health.Options_Hediff_BodyParts(pawn, localDef)));
                    }
                }));
            }
            return(list);
        }
Exemplo n.º 4
0
        private static List <DebugMenuOption> Options_HediffsDefs(Type diffType)
        {
            List <DebugMenuOption> list = new List <DebugMenuOption>();

            foreach (HediffDef current in from d in DefDatabase <HediffDef> .AllDefs
                     where d.hediffClass == diffType
                     select d)
            {
                HediffDef localDef = current;
                list.Add(new DebugMenuOption(localDef.LabelCap, DebugMenuOptionMode.Tool, delegate
                {
                    Pawn pawn = Find.VisibleMap.thingGrid.ThingsAt(UI.MouseCell()).Where((Thing t) => t is Pawn).Cast <Pawn>().FirstOrDefault <Pawn>();
                    if (pawn != null)
                    {
                        Find.WindowStack.Add(new Dialog_DebugOptionListLister(DebugTools_Health.Options_Hediff_BodyParts(pawn, localDef)));
                        DebugTools.curTool = null;
                    }
                }));
            }
            return(list);
        }