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