protected void DrawPortrait(Rect rect, CustomPawn pawn)
        {
            bool hidden = pawn.Type == CustomPawnType.Hidden || pawn.Type == CustomPawnType.Temporary;

            if (!hidden)
            {
                Rect portraitRect = rect.InsetBy(6);
                portraitRect.y -= 8;
                var portraitTexture = pawn.GetPortrait(portraitRect.size);
                GUI.DrawTexture(portraitRect.OffsetBy(0, -4), portraitTexture);
            }
            else
            {
                GUI.color = Style.ColorButton;
                Rect portraitRect = new Rect(rect.MiddleX() - SizeGender.HalfX(), rect.y + SpacingGender, SizeGender.x, SizeGender.y);
                if (pawn.Gender == Gender.Female)
                {
                    GUI.DrawTexture(portraitRect, Textures.TextureGenderFemaleLarge);
                }
                else if (pawn.Gender == Gender.Male)
                {
                    GUI.DrawTexture(portraitRect, Textures.TextureGenderMaleLarge);
                }
                else
                {
                    GUI.DrawTexture(portraitRect, Textures.TextureGenderlessLarge);
                }
            }
        }
        protected void DrawPawn(CustomPawn customPawn, Rect rect)
        {
            GUI.BeginGroup(rect);

            Vector2       pawnSize = new Vector2(128f, 180f);
            Rect          pawnRect = new Rect(rect.width * 0.5f - pawnSize.x * 0.5f, 10 + rect.height * 0.5f - pawnSize.y * 0.5f, pawnSize.x, pawnSize.y);
            RenderTexture texture  = customPawn.GetPortrait(pawnSize);

            GUI.DrawTexture(pawnRect, (Texture)texture);

            GUI.EndGroup();
            GUI.color = Color.white;
        }
        protected void DrawPortrait(CustomPawn pawn, Rect rect)
        {
            Rect parentNameRect = new Rect(rect.x, rect.yMax - 34, rect.width, 26);

            Text.Font   = GameFont.Small;
            Text.Anchor = TextAnchor.UpperCenter;
            GUI.color   = Style.ColorText;
            Widgets.Label(parentNameRect, pawn.ShortName);
            GUI.color = Color.white;

            Rect parentProfessionRect = new Rect(rect.x, rect.yMax - 18, rect.width, 18);

            Text.Font   = GameFont.Tiny;
            Text.Anchor = TextAnchor.LowerCenter;
            GUI.color   = Style.ColorText;
            Widgets.Label(parentProfessionRect, GetProfessionLabel(pawn));
            GUI.color   = Color.white;
            Text.Font   = GameFont.Small;
            Text.Anchor = TextAnchor.UpperLeft;

            bool hidden = pawn.Hidden;

            if (!hidden)
            {
                Rect parentPortraitRect = rect.InsetBy(6);
                parentPortraitRect.y -= 8;
                var parentPortraitTexture = pawn.GetPortrait(parentPortraitRect.size);
                GUI.DrawTexture(parentPortraitRect.OffsetBy(0, -4), parentPortraitTexture);
            }
            else
            {
                GUI.color = Style.ColorButton;
                Rect parentPortraitRect = new Rect(rect.MiddleX() - SizeGender.HalfX(), rect.y + SpacingGender, SizeGender.x, SizeGender.y);
                if (pawn.Gender == Gender.Female)
                {
                    GUI.DrawTexture(parentPortraitRect, Textures.TextureGenderFemaleLarge);
                }
                else if (pawn.Gender == Gender.Male)
                {
                    GUI.DrawTexture(parentPortraitRect, Textures.TextureGenderMaleLarge);
                }
                else
                {
                    GUI.DrawTexture(parentPortraitRect, Textures.TextureGenderlessLarge);
                }
            }

            TooltipHandler.TipRegion(rect, GetTooltipText(pawn));
        }