Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }