private void DrawSkill(Rect rect, Pawn ownerPawn)
{
if (ownerPawn.RaceProps.IsMechanoid) return;
if (ownerPawn.RaceProps.Animal) return;
SkillRecord skill = ownerPawn.skills.GetSkill((SkillDef)displayObject);
GUI.BeginGroup(rect);
Rect position = new Rect(3f, 3f, 24f, 24f);
if (skill.passion > Passion.None)
{
Texture2D image = (skill.passion != Passion.Major) ? passionMinorIcon : passionMajorIcon;
GUI.DrawTexture(position, image);
}
if (!skill.TotallyDisabled)
{
Rect rect3 = new Rect(position.xMax, 0f, rect.width - position.xMax, rect.height);
Widgets.FillableBar(rect3, (float)skill.level / 20f, SkillBarFillTex, SkillBarBgTex, false);
}
Rect rect4 = new Rect(position.xMax + 4f, 0f, 999f, rect.height);
rect4.yMin += 3f;
string label;
if (skill.TotallyDisabled)
{
GUI.color = DisabledSkillColor;
label = "-";
}
else
{
label = skill.level.ToStringCached();
}
GenUI.SetLabelAlign(TextAnchor.MiddleLeft);
Widgets.Label(rect4, label);
GenUI.ResetLabelAlign();
GUI.color = Color.white;
GUI.EndGroup();
TooltipHandler.TipRegion(rect, new TipSignal((string)mGetSkillDescription.Invoke(null, new[] { skill }), skill.def.GetHashCode() * 397945));
}