/// <summary> /// Imports and updates from the provided deserialization object /// </summary> /// <param name="src"></param> /// <param name="fromCCP"></param> internal void Import(SerializableCharacterSkill src, bool fromCCP) { m_owned = src.OwnsBook; m_known = fromCCP | src.IsKnown; SkillPoints = src.Skillpoints; LastConfirmedLvl = src.Level; m_level = src.Level; }
/// <summary> /// Exports the skill to a serialization object /// </summary> /// <returns></returns> internal SerializableCharacterSkill Export() { SerializableCharacterSkill dest = new SerializableCharacterSkill { ID = StaticData.ID, Name = StaticData.Name, Level = Math.Min(m_level, 5), Skillpoints = m_currentSkillPoints, OwnsBook = IsOwned, IsKnown = m_known }; return dest; }
/// <summary> /// Gets the skill properties of a merged skill with a plan entry, if one is provided. /// If no plan is provided, the skill properties are returned unmodified. /// </summary> /// <param name="plan"></param> /// <param name="skill"></param> /// <returns>The skill properties after the merge</returns> private static SerializableCharacterSkill GetMergedSkill(Plan plan, Skill skill) { SerializableCharacterSkill mergedSkill = new SerializableCharacterSkill { ID = skill.ID, Name = skill.Name, IsKnown = skill.IsKnown, OwnsBook = skill.IsOwned, Level = skill.Level, Skillpoints = skill.SkillPoints }; plan?.Merge(mergedSkill); return mergedSkill; }