protected override ThoughtState CurrentStateInternal(Pawn p) { JobDriver curDriver = p.jobs.curDriver; if (curDriver == null) { return(ThoughtState.Inactive); } Pawn_SkillTracker skills = p.skills; if (skills == null) { return(ThoughtState.Inactive); } SkillDef activeSkill = curDriver.ActiveSkill; if (activeSkill == null) { return(ThoughtState.Inactive); } SkillRecord skill = p.skills.GetSkill(curDriver.ActiveSkill); if (skill == null) { return(ThoughtState.Inactive); } if (skill.passion == Passion.Minor) { return(ThoughtState.ActiveAtStage(0)); } if (skill.passion == Passion.Major) { return(ThoughtState.ActiveAtStage(1)); } return(ThoughtState.Inactive); }
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); }
private static string GetSkillDescription(SkillRecord sk) { StringBuilder stringBuilder = new StringBuilder(); if (sk.TotallyDisabled) { stringBuilder.Append("DisabledLower".Translate().CapitalizeFirst()); } else { stringBuilder.AppendLine(string.Concat(new object[] { "Level".Translate(), " ", sk.Level, ": ", sk.LevelDescriptor })); if (Current.ProgramState == ProgramState.Playing) { string text = (sk.Level != 20) ? "ProgressToNextLevel".Translate() : "Experience".Translate(); stringBuilder.AppendLine(string.Concat(new object[] { text, ": ", sk.xpSinceLastLevel.ToString("F0"), " / ", sk.XpRequiredForLevelUp })); } stringBuilder.Append("Passion".Translate() + ": "); Passion passion = sk.passion; if (passion != Passion.None) { if (passion != Passion.Minor) { if (passion == Passion.Major) { stringBuilder.Append("PassionMajor".Translate(new object[] { 1.5f.ToStringPercent("F0") })); } } else { stringBuilder.Append("PassionMinor".Translate(new object[] { 1f.ToStringPercent("F0") })); } } else { stringBuilder.Append("PassionNone".Translate(new object[] { 0.35f.ToStringPercent("F0") })); } if (sk.LearningSaturatedToday) { stringBuilder.AppendLine(); stringBuilder.Append("LearnedMaxToday".Translate(new object[] { sk.xpSinceMidnight.ToString("F0"), 4000, 0.2f.ToStringPercent("F0") })); } } stringBuilder.AppendLine(); stringBuilder.AppendLine(); stringBuilder.Append(sk.def.description); return(stringBuilder.ToString()); }
private static float <PawnQualityPriceFactor> m__0(SkillRecord sk) { return((float)sk.Level); }
private static bool <ExposeData> m__1(SkillRecord x) { return(x.def == null); }