public static void DrawStatsReport(Rect rect, Thing thing) { if (StatsReportUtility.cachedDrawEntries.NullOrEmpty <StatDrawEntry>()) { StatsReportUtility.cachedDrawEntries.AddRange(thing.def.SpecialDisplayStats(StatRequest.For(thing))); StatsReportUtility.cachedDrawEntries.AddRange(from r in StatsReportUtility.StatsToDraw(thing) where r.ShouldDisplay select r); StatsReportUtility.cachedDrawEntries.RemoveAll((StatDrawEntry de) => de.stat != null && !de.stat.showNonAbstract); StatsReportUtility.FinalizeCachedDrawEntries(StatsReportUtility.cachedDrawEntries); } StatsReportUtility.DrawStatsWorker(rect, thing, null); }
public static void DrawStatsReport(Rect rect, Def def, ThingDef stuff) { if (StatsReportUtility.cachedDrawEntries.NullOrEmpty <StatDrawEntry>()) { BuildableDef buildableDef = def as BuildableDef; StatRequest req = (buildableDef == null) ? StatRequest.ForEmpty() : StatRequest.For(buildableDef, stuff, QualityCategory.Normal); StatsReportUtility.cachedDrawEntries.AddRange(def.SpecialDisplayStats(req)); StatsReportUtility.cachedDrawEntries.AddRange(from r in StatsReportUtility.StatsToDraw(def, stuff) where r.ShouldDisplay select r); StatsReportUtility.FinalizeCachedDrawEntries(StatsReportUtility.cachedDrawEntries); } StatsReportUtility.DrawStatsWorker(rect, null, null); }