예제 #1
0
        /// <summary>
        /// Deserialization constructor.
        /// </summary>
        /// <param name="owner">The owner.</param>
        /// <param name="serial">The serial.</param>
        internal PlanEntry(BasePlan owner, SerializablePlanEntry serial)
        {
            m_owner = owner;
            m_entryType = serial.Type;
            m_skill = GetSkill(serial);
            m_level = serial.Level;
            m_notes = serial.Notes;
            m_priority = serial.Priority;

            m_planGroups.AddRange(serial.PlanGroups);

            if (serial.Remapping != null)
                m_remapping = new RemappingPoint(serial.Remapping);
        }
예제 #2
0
        /// <summary>
        /// Gets a skill by its ID or its name.
        /// </summary>
        /// <param name="serial">The serial.</param>
        /// <returns></returns>
        private static StaticSkill GetSkill(SerializablePlanEntry serial)
        {
            // Try get skill by its ID
            StaticSkill skill = StaticSkills.GetSkillByID(serial.ID) ?? StaticSkills.GetSkillByName(serial.SkillName);

            // We failed? Try get skill by its name

            return skill;
        }
예제 #3
0
        /// <summary>
        /// Gets a skill by its ID or its name
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static StaticSkill GetSkill(SerializablePlanEntry serial)
        {
            // Try get skill by its ID
            StaticSkill skill = StaticSkills.GetSkillById(serial.ID);

            // We failed? Try get skill by its name
            if (skill == null)
                skill = StaticSkills.GetSkillByName(serial.SkillName);

            return skill;
        }