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