Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }