public static void DrawPawnLabel(Pawn pawn, Vector2 pos, float alpha = 1f, float truncateToWidth = 9999f, Dictionary <string, string> truncatedLabelsCache = null, GameFont font = GameFont.Tiny, bool alwaysDrawBg = true, bool alignCenter = true) { float pawnLabelNameWidth = GenMapUI.GetPawnLabelNameWidth(pawn, truncateToWidth, truncatedLabelsCache, font); Rect bgRect = new Rect(pos.x - pawnLabelNameWidth / 2f - 4f, pos.y, pawnLabelNameWidth + 8f, 12f); if (!pawn.RaceProps.Humanlike) { bgRect.y -= 4f; } GenMapUI.DrawPawnLabel(pawn, bgRect, alpha, truncateToWidth, truncatedLabelsCache, font, alwaysDrawBg, alignCenter); }
public void DrawPawnGUIOverlay() { if (!pawn.Spawned || pawn.Map.fogGrid.IsFogged(pawn.Position)) { return; } if (!pawn.RaceProps.Humanlike) { switch (Prefs.AnimalNameMode) { case AnimalNameDisplayMode.None: return; case AnimalNameDisplayMode.TameAll: if (pawn.Name == null) { return; } break; case AnimalNameDisplayMode.TameNamed: if (pawn.Name == null || pawn.Name.Numerical) { return; } break; } } Vector2 pos = GenMapUI.LabelDrawPosFor(pawn, -0.6f); GenMapUI.DrawPawnLabel(pawn, pos); if (pawn.CanTradeNow) { pawn.Map.overlayDrawer.DrawOverlay(pawn, OverlayTypes.QuestionMark); } Lord lord = pawn.GetLord(); if (lord != null && lord.CurLordToil != null) { lord.CurLordToil.DrawPawnGUIOverlay(pawn); } }
public void DrawPawnGUIOverlay() { if (!this.pawn.Spawned || this.pawn.Map.fogGrid.IsFogged(this.pawn.Position)) { return; } if (!this.pawn.RaceProps.Humanlike) { AnimalNameDisplayMode animalNameMode = Prefs.AnimalNameMode; if (animalNameMode == AnimalNameDisplayMode.None) { return; } if (animalNameMode != AnimalNameDisplayMode.TameAll) { if (animalNameMode == AnimalNameDisplayMode.TameNamed) { if (this.pawn.Name == null || this.pawn.Name.Numerical) { return; } } } else if (this.pawn.Name == null) { return; } } Vector2 pos = GenMapUI.LabelDrawPosFor(this.pawn, -0.6f); GenMapUI.DrawPawnLabel(this.pawn, pos, 1f, 9999f, null, GameFont.Tiny, true, true); if (this.pawn.CanTradeNow) { this.pawn.Map.overlayDrawer.DrawOverlay(this.pawn, OverlayTypes.QuestionMark); } }