/// <summary> /// Constructor at character's initialization time /// </summary> /// <param name="character"></param> /// <param name="src"></param> /// <param name="certClass"></param> internal Certificate(Character character, StaticCertificate src, CertificateClass certClass) { m_staticData = src; m_class = certClass; m_character = character; m_status = CertificateStatus.Untrained; m_prereqSkills = new List <SkillLevel>(src.PrerequisiteSkills.ToCharacter(character)); m_prereqCertificates = new List <Certificate>(); }
/// <summary> /// Recursive method to generate treenodes for tvCertList. /// </summary> /// <param name="certificate">An EntityRecommendedCertificate object</param> /// <returns></returns> private TreeNode GetCertNode(StaticCertificate certificate) { var character = (Character)m_plan.Character; Certificate cert = character.Certificates[certificate.ID]; TreeNode node = new TreeNode(cert.ToString()); node.Tag = cert; // Generate child certificate nodes if required foreach (StaticCertificate childCert in cert.StaticData.PrerequisiteCertificates) { node.Nodes.Add(GetCertNode(childCert)); } // Generate prerequisites skill nodes if required foreach (StaticSkillLevel prereq in cert.StaticData.PrerequisiteSkills) { node.Nodes.Add(GetSkillNode(prereq)); } return(node); }
/// <summary> /// Adds the provided certificate's prerequisites to the plan /// </summary> /// <param name="certificate"></param> /// <param name="confirmationCallback">A callback to request the user a confirmation</param> public IPlanOperation TryPlanTo(StaticCertificate certificate) { return(TryAddSet(certificate.AllTopPrerequisiteSkills, certificate.ToString())); }