/// <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); }
/// <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; }
/// <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; }