Example #1
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 #2
0
 /// <summary>
 /// Constructor used in code.
 /// </summary>
 /// <param name="character"></param>
 public ImplantSetsWindow(Character character)
     : this()
 {
     m_character   = character;
     m_sets        = character.ImplantSets.Export();
     maxJumpClones = character.Skills["Infomorph Psychology"].Level;
 }
Example #3
0
        /// <summary>
        /// Constructor used in code.
        /// </summary>
        /// <param name="character"></param>
        /// <exception cref="System.ArgumentNullException">character</exception>
        public ImplantSetsWindow(Character character)
            : this()
        {
            character.ThrowIfNull(nameof(character));

            m_character     = character;
            m_sets          = character.ImplantSets.Export();
            m_maxJumpClones = character.Skills[DBConstants.InfomorphPsychologySkillID].Level +
                              character.Skills[DBConstants.AdvancedInfomorphPsychologySkillID].Level;
        }
Example #4
0
        /// <summary>
        /// Exports this collection to a serialization object.
        /// </summary>
        /// <returns></returns>
        public SerializableImplantSetCollection Export()
        {
            var serial = new SerializableImplantSetCollection();

            serial.API    = m_api.Export();
            serial.OldAPI = m_oldAPI.Export();
            serial.CustomSets.AddRange(m_customSets.Select(x => x.Export()));
            serial.SelectedIndex = Enumerate().IndexOf(m_current);
            return(serial);
        }
Example #5
0
        /// <summary>
        /// Imports data from the given character clone information.
        /// </summary>
        /// <param name="clones">The serialized character clone information</param>
        internal void Import(EsiAPIClones clones)
        {
            var newClones = new SerializableImplantSetCollection();

            // Information about clone jumping and clone moving
            JumpCloneLastJumpDate = clones.LastCloneJump;
            RemoteStationDate     = clones.LastStationChange;
            HomeStationID         = clones.HomeLocation.LocationID;
            ImplantSets.Import(newClones);
        }
Example #6
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);
        }
Example #7
0
        /// <summary>
        /// Imports data from the given character clone information.
        /// </summary>
        /// <param name="result">The serialized character clone information</param>
        internal void Import(EsiResult <EsiAPIClones> result)
        {
            var clones    = result.Result;
            var newClones = new SerializableImplantSetCollection();

            // Remap info
            JumpCloneLastJumpDate = clones.LastCloneJump;
            RemoteStationDate     = clones.LastStationChange;
            HomeStationID         = clones.HomeLocation.LocationID;

            ImplantSets.Import(newClones);

            EveMonClient.OnCharacterInfoUpdated(this);
        }
Example #8
0
        /// <summary>
        /// Imports data from a deserialization object
        /// </summary>
        /// <param name="serial"></param>
        public void Import(SerializableImplantSetCollection serial)
        {
            m_api.Import(serial.API, false);
            m_oldAPI.Import(serial.API, false);

            m_customSets.Clear();
            foreach (var serialSet in serial.CustomSets)
            {
                var set = new ImplantSet(m_owner, serialSet.Name);
                set.Import(serialSet, true);
                m_customSets.Add(set);
            }

            // Imports selection
            m_current = Enumerate().ElementAt(serial.SelectedIndex);
        }