Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified 1.4/Assemblies/Numbers.dll
Binary file not shown.
12 changes: 12 additions & 0 deletions 1.4/Defs/PawnColumnDef/PawnColumns_Numbers.xml
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,18 @@
</modExtensions>
<width>200</width>
</PawnColumnDef>

<PawnColumnDef>
<defName>Numbers_Certainty</defName>
<workerClass>Numbers.PawnColumnWorker_Certainty</workerClass>
<sortable>true</sortable>
<headerTip>Ideology certainty level</headerTip>
<label>Certainty</label>
<modExtensions>
<li Class="Numbers.DefModExtension_NeedsIdeology"/>
</modExtensions>
<width>120</width>
</PawnColumnDef>

<PawnColumnDef>
<defName>Numbers_Strip</defName>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
<li>Numbers_HediffBadList</li>
<li>Numbers_InventoryDropAll</li>
<li>Numbers_Ideology</li>
<li>Numbers_Certainty</li>
<li>Numbers_Xenogenes</li>
<li>Numbers_Endogenes</li>
<li>Numbers_GenesRegrowTime</li>
Expand Down
44 changes: 44 additions & 0 deletions Numbers/PawnColumnWorkers/PawnColumnWorker_Certainty.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
using System.Linq;

namespace Numbers
{
using RimWorld;
using UnityEngine;
using Verse;

public class PawnColumnWorker_Certainty : PawnColumnWorker
{
private static readonly Texture2D BarFullTexHor = SolidColorMaterials.NewSolidColorTexture(GenUI.FillableBar_Green);

public override void DoCell(Rect rect, Pawn pawn, PawnTable table)
{
if (pawn?.Ideo == null) return;

// SocialCardUtility.DrawPawnCertainty(pawn, rect);
var iconRect = new Rect(rect.x, rect.y + rect.height / 2 - 16, 32, 32);
pawn.Ideo.DrawIcon(iconRect);

var barRect = new Rect(rect.x + 32, rect.y + 2, rect.width - 32, rect.height - 4);
Widgets.FillableBar(barRect, pawn.ideo.Certainty, BarFullTexHor);

Text.Anchor = TextAnchor.MiddleCenter;
Widgets.Label(barRect, pawn.Ideo.name.Truncate(barRect.width));
Text.Anchor = TextAnchor.UpperLeft;

if (Mouse.IsOver(rect))
{
Widgets.DrawHighlight(rect);
// IdeoUIUtility.DrawIdeoPlate(rect, pawn.Ideo, pawn);
var taggedString1 = (TaggedString)pawn.Ideo.name.Colorize(ColoredText.TipSectionTitleColor);
taggedString1 += "\n" + "Certainty".Translate().CapitalizeFirst() + ": " + pawn.ideo.Certainty.ToStringPercent();
if (pawn.ideo.PreviousIdeos.Any())
taggedString1 += "\n\n" + "Formerly".Translate().CapitalizeFirst() + ": \n" + pawn.ideo.PreviousIdeos.Select(x => x.name).ToLineList(" - ");
TooltipHandler.TipRegion(rect, (TipSignal)taggedString1.Resolve());
}
}

public override int GetMinWidth(PawnTable table) => Mathf.Max(base.GetMinWidth(table), 120);

public override int Compare(Pawn a, Pawn b) => (a.ideo?.Certainty ?? 0).CompareTo(b.ideo?.Certainty ?? 0);
}
}