public static void MakeTablePairsByThing(List <ThingStuffPair> pairList) { DefMap <ThingDef, float> totalCommMult = new DefMap <ThingDef, float>(); DefMap <ThingDef, float> totalComm = new DefMap <ThingDef, float>(); DefMap <ThingDef, int> pairCount = new DefMap <ThingDef, int>(); foreach (ThingStuffPair current in pairList) { DefMap <ThingDef, float> defMap; ThingDef thing; (defMap = totalCommMult)[thing = current.thing] = defMap[thing] + current.commonalityMultiplier; ThingDef thing2; (defMap = totalComm)[thing2 = current.thing] = defMap[thing2] + current.Commonality; DefMap <ThingDef, int> pairCount2; ThingDef thing3; (pairCount2 = pairCount)[thing3 = current.thing] = pairCount2[thing3] + 1; } IEnumerable <ThingDef> arg_192_0 = from d in DefDatabase <ThingDef> .AllDefs where pairList.Any((ThingStuffPair pa) => pa.thing == d) select d; TableDataGetter <ThingDef>[] expr_F3 = new TableDataGetter <ThingDef> [5]; expr_F3[0] = new TableDataGetter <ThingDef>("thing", (ThingDef t) => t.defName); expr_F3[1] = new TableDataGetter <ThingDef>("pair count", (ThingDef t) => pairCount[t].ToString()); expr_F3[2] = new TableDataGetter <ThingDef>("total commonality multiplier ", (ThingDef t) => totalCommMult[t].ToString("F4")); expr_F3[3] = new TableDataGetter <ThingDef>("total commonality", (ThingDef t) => totalComm[t].ToString("F4")); expr_F3[4] = new TableDataGetter <ThingDef>("def-commonality", (ThingDef t) => t.generateCommonality.ToString("F4")); DebugTables.MakeTablesDialog <ThingDef>(arg_192_0, expr_F3); }
public static void ListChannels() { IEnumerable <LogisticChannel> dataSources = LogisticChannel.AllChannels; TableDataGetter <LogisticChannel>[] array = new TableDataGetter <LogisticChannel> [4]; array[0] = new TableDataGetter <LogisticChannel>("name", ( LogisticChannel c ) => c.name); array[1] = new TableDataGetter <LogisticChannel>("total", ( LogisticChannel c ) => c.interfaces.Count); array[2] = new TableDataGetter <LogisticChannel>("providers", ( LogisticChannel c ) => c.PassiveProviders.Count()); array[3] = new TableDataGetter <LogisticChannel>("requesters", ( LogisticChannel c ) => c.Requesters.Count()); DebugTables.MakeTablesDialog(dataSources, array); }
public static void ProvidedItems() { IEnumerable <Thing> dataSources = Manager.Channels .SelectMany(c => Manager.ThingsProvided(c)); TableDataGetter <Thing>[] array = new TableDataGetter <Thing> [2]; array[0] = new TableDataGetter <Thing>("thing", ( Thing d ) => d.def); array[1] = new TableDataGetter <Thing>("quantity", ( Thing d ) => d.stackCount); DebugTables.MakeTablesDialog(dataSources, array); }
public static void RequestedItems() { IEnumerable <LogisticRequester> dataSources = Manager.Requesters; TableDataGetter <LogisticRequester>[] array = new TableDataGetter <LogisticRequester> [4]; array[0] = new TableDataGetter <LogisticRequester>("thingDef", ( LogisticRequester r ) => r.requestFilter.Summary); array[1] = new TableDataGetter <LogisticRequester>("amount", ( LogisticRequester r ) => r.Count); array[2] = new TableDataGetter <LogisticRequester>("activeReq", ( LogisticRequester r ) => r.activeRequestCount); array[3] = new TableDataGetter <LogisticRequester>("missing", ( LogisticRequester r ) => r.Missing); DebugTables.MakeTablesDialog(dataSources, array); }
internal static void MakeTableApparelPairs() { IEnumerable <ThingStuffPair> arg_129_0 = from p in PawnApparelGenerator.allApparelPairs orderby p.thing.defName descending select p; TableDataGetter <ThingStuffPair>[] expr_2D = new TableDataGetter <ThingStuffPair> [6]; expr_2D[0] = new TableDataGetter <ThingStuffPair>("thing", (ThingStuffPair p) => p.thing.defName); expr_2D[1] = new TableDataGetter <ThingStuffPair>("stuff", (ThingStuffPair p) => (p.stuff == null) ? string.Empty : p.stuff.defName); expr_2D[2] = new TableDataGetter <ThingStuffPair>("price", (ThingStuffPair p) => p.Price.ToString()); expr_2D[3] = new TableDataGetter <ThingStuffPair>("commonality", (ThingStuffPair p) => (p.Commonality * 100f).ToString("F4")); expr_2D[4] = new TableDataGetter <ThingStuffPair>("def-commonality", (ThingStuffPair p) => p.thing.generateCommonality.ToString("F4")); expr_2D[5] = new TableDataGetter <ThingStuffPair>("insulationCold", (ThingStuffPair p) => (p.InsulationCold != 0f) ? p.InsulationCold.ToString() : string.Empty); DebugTables.MakeTablesDialog <ThingStuffPair>(arg_129_0, expr_2D); }
private static void ApparelPairs() { IEnumerable <ThingStuffPair> dataSources = from p in PawnApparelGenerator.allApparelPairs orderby p.thing.defName descending select p; TableDataGetter <ThingStuffPair>[] array = new TableDataGetter <ThingStuffPair> [7]; array[0] = new TableDataGetter <ThingStuffPair>("thing", (ThingStuffPair p) => p.thing.defName); array[1] = new TableDataGetter <ThingStuffPair>("stuff", (ThingStuffPair p) => (p.stuff == null) ? string.Empty : p.stuff.defName); array[2] = new TableDataGetter <ThingStuffPair>("price", (ThingStuffPair p) => p.Price.ToString()); array[3] = new TableDataGetter <ThingStuffPair>("commonality", (ThingStuffPair p) => (p.Commonality * 100f).ToString("F4")); array[4] = new TableDataGetter <ThingStuffPair>("generateCommonality", (ThingStuffPair p) => p.thing.generateCommonality.ToString("F4")); array[5] = new TableDataGetter <ThingStuffPair>("insulationCold", (ThingStuffPair p) => (p.InsulationCold != 0f) ? p.InsulationCold.ToString() : string.Empty); array[6] = new TableDataGetter <ThingStuffPair>("headgear", (ThingStuffPair p) => (!PawnApparelGenerator.IsHeadgear(p.thing)) ? string.Empty : "*"); DebugTables.MakeTablesDialog <ThingStuffPair>(dataSources, array); }
internal static void MakeTableWeaponPairs() { IEnumerable <ThingStuffPair> arg_153_0 = from p in PawnWeaponGenerator.allWeaponPairs orderby p.thing.defName descending select p; TableDataGetter <ThingStuffPair>[] expr_2D = new TableDataGetter <ThingStuffPair> [7]; expr_2D[0] = new TableDataGetter <ThingStuffPair>("thing", (ThingStuffPair p) => p.thing.defName); expr_2D[1] = new TableDataGetter <ThingStuffPair>("stuff", (ThingStuffPair p) => (p.stuff == null) ? string.Empty : p.stuff.defName); expr_2D[2] = new TableDataGetter <ThingStuffPair>("price", (ThingStuffPair p) => p.Price.ToString()); expr_2D[3] = new TableDataGetter <ThingStuffPair>("commonality", (ThingStuffPair p) => p.Commonality.ToString("F5")); expr_2D[4] = new TableDataGetter <ThingStuffPair>("commMult", (ThingStuffPair p) => p.commonalityMultiplier.ToString("F5")); expr_2D[5] = new TableDataGetter <ThingStuffPair>("def-commonality", (ThingStuffPair p) => p.thing.generateCommonality.ToString("F2")); expr_2D[6] = new TableDataGetter <ThingStuffPair>("derp", (ThingStuffPair p) => (!PawnWeaponGenerator.IsDerpWeapon(p.thing, p.stuff)) ? string.Empty : "D"); DebugTables.MakeTablesDialog <ThingStuffPair>(arg_153_0, expr_2D); }
private static void WeaponPairs() { IEnumerable <ThingStuffPair> dataSources = from p in PawnWeaponGenerator.allWeaponPairs orderby p.thing.defName descending select p; TableDataGetter <ThingStuffPair>[] array = new TableDataGetter <ThingStuffPair> [7]; array[0] = new TableDataGetter <ThingStuffPair>("thing", (ThingStuffPair p) => p.thing.defName); array[1] = new TableDataGetter <ThingStuffPair>("stuff", (ThingStuffPair p) => (p.stuff == null) ? string.Empty : p.stuff.defName); array[2] = new TableDataGetter <ThingStuffPair>("price", (ThingStuffPair p) => p.Price.ToString()); array[3] = new TableDataGetter <ThingStuffPair>("commonality", (ThingStuffPair p) => p.Commonality.ToString("F5")); array[4] = new TableDataGetter <ThingStuffPair>("commMult", (ThingStuffPair p) => p.commonalityMultiplier.ToString("F5")); array[5] = new TableDataGetter <ThingStuffPair>("generateCommonality", (ThingStuffPair p) => p.thing.generateCommonality.ToString("F2")); array[6] = new TableDataGetter <ThingStuffPair>("derp", (ThingStuffPair p) => (!PawnWeaponGenerator.IsDerpWeapon(p.thing, p.stuff)) ? string.Empty : "D"); DebugTables.MakeTablesDialog <ThingStuffPair>(dataSources, array); }
internal static IEnumerable <DebugMenuOption> ViewShipments(List <Shipment> shipments) { foreach (var shipment in shipments) { yield return(new DebugMenuOption { label = "View destination: " + shipment.destination.map.GetUniqueLoadID(), method = () => { IEnumerable <ShipmentItem> dataSources = shipment.items; TableDataGetter <ShipmentItem>[] array = new TableDataGetter <ShipmentItem> [3]; array[0] = new TableDataGetter <ShipmentItem>("thingDef", ( ShipmentItem r ) => r.requester.requestFilter.Summary); array[1] = new TableDataGetter <ShipmentItem>("amount", ( ShipmentItem r ) => r.Count); // thingCounts.Select( tc => tc.Count ).Aggregate( ( a, b ) => a + b ) ) ; array[2] = new TableDataGetter <ShipmentItem>("requested", ( ShipmentItem r ) => r.reqAmount); DebugTables.MakeTablesDialog(dataSources, array); }, mode = DebugMenuOptionMode.Action, }); yield return(new DebugMenuOption { label = "Send to destination: " + shipment.destination.map.GetUniqueLoadID(), method = () => { shipment.SetupPods(); }, mode = DebugMenuOptionMode.Action, }); yield return(new DebugMenuOption { label = "Delete: " + shipment.destination.map.GetUniqueLoadID(), method = () => { shipment.Status = Shipment.ShipmentStatus.Complete; }, mode = DebugMenuOptionMode.Action, }); } }
public virtual void DebugTablesIncidentChances(IncidentCategoryDef cat) { IEnumerable <IncidentDef> dataSources = from d in DefDatabase <IncidentDef> .AllDefs where d.category == cat orderby this.IncidentChanceFinal(d) descending select d; TableDataGetter <IncidentDef>[] array = new TableDataGetter <IncidentDef> [10]; array[0] = new TableDataGetter <IncidentDef>("defName", (IncidentDef d) => d.defName); array[1] = new TableDataGetter <IncidentDef>("baseChance", (IncidentDef d) => d.baseChance.ToString()); array[2] = new TableDataGetter <IncidentDef>("AdjustedChance", (IncidentDef d) => d.Worker.AdjustedChance.ToString()); array[3] = new TableDataGetter <IncidentDef>("Factor-PopCurrent", (IncidentDef d) => this.IncidentChanceFactor_CurrentPopulation(d).ToString()); array[4] = new TableDataGetter <IncidentDef>("Factor-PopIntent", (IncidentDef d) => this.IncidentChanceFactor_PopulationIntent(d).ToString()); array[5] = new TableDataGetter <IncidentDef>("final chance", (IncidentDef d) => this.IncidentChanceFinal(d).ToString()); array[6] = new TableDataGetter <IncidentDef>("vismap-usable", (IncidentDef d) => (Find.CurrentMap != null) ? ((!this.UsableIncidentsInCategory(cat, Find.CurrentMap).Contains(d)) ? string.Empty : "V") : "-"); array[7] = new TableDataGetter <IncidentDef>("world-usable", (IncidentDef d) => (!this.UsableIncidentsInCategory(cat, Find.World).Contains(d)) ? string.Empty : "W"); array[8] = new TableDataGetter <IncidentDef>("pop-current", (IncidentDef d) => PawnsFinder.AllMapsCaravansAndTravelingTransportPods_Alive_Colonists.Count <Pawn>().ToString()); array[9] = new TableDataGetter <IncidentDef>("pop-intent", (IncidentDef d) => StorytellerUtilityPopulation.PopulationIntent.ToString("F3")); DebugTables.MakeTablesDialog <IncidentDef>(dataSources, array); }