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); }
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); }
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); }