static void Postfix(Thing __instance) { if (!OutfittedMod.showApparelScores) { return; } if (Find.CameraDriver.CurrentZoom != CameraZoomRange.Closest) { return; } var pawn = Find.Selector.SingleSelectedThing as Pawn; if (pawn == null || !pawn.IsColonistPlayerControlled) { return; } var apparel = __instance as Apparel; if (apparel == null) { return; } var outfit = pawn.outfits.CurrentOutfit as ExtendedOutfit; if (outfit == null) { return; } if (!outfit.filter.Allows(apparel)) { return; } var scores = CachedScoresForPawn(pawn); float score = JobGiver_OptimizeApparel.ApparelScoreGain_NewTmp(pawn, apparel, scores); if (Math.Abs(score) > 0.01f) { var pos = GenMapUI.LabelDrawPosFor(apparel, 0f); GenMapUI.DrawThingLabel(pos, score.ToString("F1"), BeautyDrawer.BeautyColor(score, 3f)); } }
private static void Postfix(Thing __instance) { if (!OutfitManagerMod.ShowApparelScores) { return; } if (Find.CameraDriver.CurrentZoom != CameraZoomRange.Closest) { return; } if (!(Find.Selector.SingleSelectedThing is Pawn pawn) || !pawn.IsColonistPlayerControlled) { return; } if (!(__instance is Apparel apparel)) { return; } if (!(pawn.outfits.CurrentOutfit is ExtendedOutfit outfit)) { return; } if (!outfit.filter.Allows(apparel)) { return; } var wornApparelScores = pawn.apparel.WornApparel .Select(wornApparel => OutfitManagerMod.ApparelScoreRaw(pawn, wornApparel)).ToList(); var score = JobGiver_OptimizeApparel.ApparelScoreGain_NewTmp(pawn, apparel, wornApparelScores); if (!(Math.Abs(score) > 0.01f)) { return; } var pos = GenMapUI.LabelDrawPosFor(apparel, 0f); GenMapUI.DrawThingLabel(pos, score.ToString("F1", CultureInfo.InvariantCulture), BeautyDrawer.BeautyColor(score, 3f)); }