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)); }