public static void DrawSkillsOf(Pawn p, Vector2 offset, SkillUI.SkillDrawMode mode) { Text.Font = GameFont.Small; List <SkillDef> allDefsListForReading = DefDatabase <SkillDef> .AllDefsListForReading; for (int i = 0; i < allDefsListForReading.Count; i++) { float x = Text.CalcSize(allDefsListForReading[i].skillLabel.CapitalizeFirst()).x; if (x > SkillUI.levelLabelWidth) { SkillUI.levelLabelWidth = x; } } if (SkillUI.skillDefsInListOrderCached == null) { SkillUI.skillDefsInListOrderCached = (from sd in DefDatabase <SkillDef> .AllDefs orderby sd.listOrder descending select sd).ToList <SkillDef>(); } for (int j = 0; j < SkillUI.skillDefsInListOrderCached.Count; j++) { SkillDef skillDef = SkillUI.skillDefsInListOrderCached[j]; float y = (float)j * 27f + offset.y; SkillUI.DrawSkill(p.skills.GetSkill(skillDef), new Vector2(offset.x, y), mode, string.Empty); } }
public static void DrawSkillsOf(Pawn p, Vector2 offset, SkillUI.SkillDrawMode mode) { Text.Font = GameFont.Small; List <SkillDef> allDefsListForReading = DefDatabase <SkillDef> .AllDefsListForReading; for (int i = 0; i < allDefsListForReading.Count; i++) { float x = Text.CalcSize(allDefsListForReading[i].skillLabel.CapitalizeFirst()).x; if (x > SkillUI.levelLabelWidth) { SkillUI.levelLabelWidth = x; } } for (int j = 0; j < p.skills.skills.Count; j++) { float y = (float)j * 27f + offset.y; SkillUI.DrawSkill(p.skills.skills[j], new Vector2(offset.x, y), mode, string.Empty); } }
private void DrawSkillSummaries(Rect rect) { rect.xMin += 10f; rect.xMax -= 10f; Widgets.DrawMenuSection(rect); rect = rect.ContractedBy(17f); Text.Font = GameFont.Medium; Widgets.Label(new Rect(rect.min, new Vector2(rect.width, 45f)), "TeamSkills".Translate()); Text.Font = GameFont.Small; rect.yMin += 45f; rect = rect.LeftPart(0.25f); rect.height = 27f; List <SkillDef> allDefsListForReading = DefDatabase <SkillDef> .AllDefsListForReading; if (this.SkillsPerColumn < 0) { this.SkillsPerColumn = Mathf.CeilToInt((float)((float)(from sd in allDefsListForReading where sd.pawnCreatorSummaryVisible select sd).Count() / 4.0)); } int num = 0; for (int i = 0; i < allDefsListForReading.Count; i++) { SkillDef skillDef = allDefsListForReading[i]; if (skillDef.pawnCreatorSummaryVisible) { Rect r = rect; r.x = rect.x + rect.width * (float)(num / this.SkillsPerColumn); r.y = rect.y + rect.height * (float)(num % this.SkillsPerColumn); r.height = 24f; r.width -= 4f; Pawn pawn = this.FindBestSkillOwner(skillDef); SkillUI.DrawSkill(pawn.skills.GetSkill(skillDef), r.Rounded(), SkillUI.SkillDrawMode.Menu, pawn.Name.ToString()); num++; } } }
public static void DrawSkill(SkillRecord skill, Vector2 topLeft, SkillUI.SkillDrawMode mode, string tooltipPrefix = "") { SkillUI.DrawSkill(skill, new Rect(topLeft.x, topLeft.y, 240f, 24f), mode, string.Empty); }