/// <summary> /// Imports data from an API serialization object provided by CCP. /// </summary> /// <param name="serial"></param> internal void Import(SerializableAPICharacterSheet serial) { if (serial == null) { return; } // Import the active clone implants ActiveClone.Import(serial.Implants); m_cloneSets.Clear(); foreach (SerializableCharacterJumpClone jumpClone in serial.JumpClones) { List <SerializableNewImplant> cloneImplants = serial.JumpCloneImplants.Where(x => x.JumpCloneID == jumpClone.JumpCloneID) .Select(cloneImplant => new SerializableNewImplant { ID = cloneImplant.TypeID, Name = cloneImplant.TypeName }).ToList(); ImplantSet set = new ImplantSet(m_character, jumpClone.CloneName); set.Import(cloneImplants); m_cloneSets.Add(set); } EveMonClient.OnCharacterImplantSetCollectionChanged(m_character); }
/// <summary> /// Imports data from a deserialization object. /// </summary> /// <param name="serial"></param> public void Import(SerializableImplantSetCollection serial) { if (serial == null) { return; } ActiveClone.Import(serial.ActiveClone); m_cloneSets.Clear(); foreach (SerializableSettingsImplantSet serialSet in serial.JumpClones) { ImplantSet set = new ImplantSet(m_character, serialSet.Name); set.Import(serialSet); m_cloneSets.Add(set); } m_customSets.Clear(); foreach (SerializableSettingsImplantSet serialSet in serial.CustomSets) { ImplantSet set = new ImplantSet(m_character, serialSet.Name); set.Import(serialSet); m_customSets.Add(set); } // Imports selection m_current = this[serial.SelectedIndex]; EveMonClient.OnCharacterImplantSetCollectionChanged(m_character); }
/// <summary> /// Exports this collection to a serialization object. /// </summary> /// <returns></returns> public SerializableImplantSetCollection Export() { SerializableImplantSetCollection serial = new SerializableImplantSetCollection { ActiveClone = ActiveClone.Export() }; serial.JumpClones.AddRange(m_cloneSets.Select(x => x.Export())); serial.CustomSets.AddRange(m_customSets.Select(x => x.Export())); serial.SelectedIndex = Enumerate().IndexOf(m_current); return(serial); }