/// <summary> /// Updates the characters list with the given CCP data. /// </summary> /// <param name="identities"></param> private void ImportIdentities(IEnumerable <ISerializableCharacterIdentity> identities) { // Clear the accounts on this character foreach (CharacterIdentity id in EveClient.CharacterIdentities) { if (id.Account == this) { id.Account = null; } } // Return if there were errors in the query if (identities == null) { return; } // Assign owned identities to this account foreach (ISerializableCharacterIdentity serialID in identities) { CharacterIdentity id = EveClient.CharacterIdentities[serialID.ID]; if (id == null) { id = EveClient.CharacterIdentities.Add(serialID.ID, serialID.Name); } id.Account = this; } }
/// <summary> /// Updates this character with the given informations /// </summary> /// <param name="identity"></param> /// <param name="uri"></param> /// <param name="result"></param> internal void Update(CharacterIdentity identity, Uri uri, APIResult <SerializableAPICharacterSheet> result) { m_characterID = identity.CharacterID; m_identity = identity; m_uri = uri; Import(result); }
/// <summary> /// Updates this character with the given informations /// </summary> /// <param name="identity"></param> /// <param name="uri"></param> /// <param name="result"></param> internal void Update(CharacterIdentity identity, Uri uri, SerializableCCPCharacter result) { m_characterID = identity.CharacterID; m_identity = identity; m_uri = uri; Import(result); }
/// <summary> /// Base constructor. /// </summary> /// <param name="identity"></param> /// <param name="guid"></param> private CCPCharacter(CharacterIdentity identity, Guid guid) : base(identity, guid) { m_queue = new SkillQueue(this); m_marketOrders = new MarketOrderCollection(this); m_industryJobs = new IndustryJobCollection(this); m_researchPoints = new ResearchPointCollection(this); m_eveMailMessages = new EveMailMessagesCollection(this); m_eveMailingLists = new EveMailingListsCollection(this); m_eveNotifications = new EveNotificationsCollection(this); m_monitors = new QueryMonitorCollection(); // Initializes the query monitors m_charSheetMonitor = new CharacterQueryMonitor <SerializableAPICharacterSheet>(this, APIMethods.CharacterSheet); m_charSheetMonitor.Updated += OnCharacterSheetUpdated; m_monitors.Add(m_charSheetMonitor); m_skillQueueMonitor = new CharacterQueryMonitor <SerializableAPISkillQueue>(this, APIMethods.SkillQueue); m_skillQueueMonitor.Updated += OnSkillQueueUpdated; m_monitors.Add(m_skillQueueMonitor); m_charMarketOrdersMonitor = new CharacterQueryMonitor <SerializableAPIMarketOrders>(this, APIMethods.MarketOrders); m_charMarketOrdersMonitor.Updated += OnCharacterMarketOrdersUpdated; m_monitors.Add(m_charMarketOrdersMonitor); m_corpMarketOrdersMonitor = new CharacterQueryMonitor <SerializableAPIMarketOrders>(this, APIMethods.CorporationMarketOrders); m_corpMarketOrdersMonitor.Updated += OnCorporationMarketOrdersUpdated; m_monitors.Add(m_corpMarketOrdersMonitor); m_charIndustryJobsMonitor = new CharacterQueryMonitor <SerializableAPIIndustryJobs>(this, APIMethods.IndustryJobs); m_charIndustryJobsMonitor.Updated += OnCharacterJobsUpdated; m_monitors.Add(m_charIndustryJobsMonitor); m_corpIndustryJobsMonitor = new CharacterQueryMonitor <SerializableAPIIndustryJobs>(this, APIMethods.CorporationIndustryJobs); m_corpIndustryJobsMonitor.Updated += OnCorporationJobsUpdated; m_monitors.Add(m_corpIndustryJobsMonitor); m_charResearchPointsMonitor = new CharacterQueryMonitor <SerializableAPIResearch>(this, APIMethods.ResearchPoints); m_charResearchPointsMonitor.Updated += OnCharacterResearchPointsUpdated; m_monitors.Add(m_charResearchPointsMonitor); m_charEVEMailMessagesMonitor = new CharacterQueryMonitor <SerializableAPIMailMessages>(this, APIMethods.MailMessages); m_charEVEMailMessagesMonitor.Updated += OnCharacterEVEMailMessagesUpdated; m_monitors.Add(m_charEVEMailMessagesMonitor); m_charEVENotificationsMonitor = new CharacterQueryMonitor <SerializableAPINotifications>(this, APIMethods.Notifications); m_charEVENotificationsMonitor.Updated += OnCharacterEVENotificationsUpdated; m_monitors.Add(m_charEVENotificationsMonitor); // We enable only the monitors that require a limited api key, // full api key required monitors will be enabled individually // through each character's enabled full api key feature foreach (var monitor in m_monitors) { monitor.Enabled = !monitor.IsFullKeyNeeded; } }
/// <summary> /// Base constructor. /// </summary> /// <param name="identity"></param> /// <param name="guid"></param> private CCPCharacter(CharacterIdentity identity, Guid guid) : base(identity, guid) { m_queue = new SkillQueue(this); m_marketOrders = new MarketOrderCollection(this); m_industryJobs = new IndustryJobCollection(this); m_researchPoints = new ResearchPointCollection(this); m_eveMailMessages = new EveMailMessagesCollection(this); m_eveMailingLists = new EveMailingListsCollection(this); m_eveNotifications = new EveNotificationsCollection(this); m_monitors = new QueryMonitorCollection(); // Initializes the query monitors m_charSheetMonitor = new CharacterQueryMonitor<SerializableAPICharacterSheet>(this, APIMethods.CharacterSheet); m_charSheetMonitor.Updated += OnCharacterSheetUpdated; m_monitors.Add(m_charSheetMonitor); m_skillQueueMonitor = new CharacterQueryMonitor<SerializableAPISkillQueue>(this, APIMethods.SkillQueue); m_skillQueueMonitor.Updated += OnSkillQueueUpdated; m_monitors.Add(m_skillQueueMonitor); m_charMarketOrdersMonitor = new CharacterQueryMonitor<SerializableAPIMarketOrders>(this, APIMethods.MarketOrders); m_charMarketOrdersMonitor.Updated += OnCharacterMarketOrdersUpdated; m_monitors.Add(m_charMarketOrdersMonitor); m_corpMarketOrdersMonitor = new CharacterQueryMonitor<SerializableAPIMarketOrders>(this, APIMethods.CorporationMarketOrders); m_corpMarketOrdersMonitor.Updated += OnCorporationMarketOrdersUpdated; m_monitors.Add(m_corpMarketOrdersMonitor); m_charIndustryJobsMonitor = new CharacterQueryMonitor<SerializableAPIIndustryJobs>(this, APIMethods.IndustryJobs); m_charIndustryJobsMonitor.Updated += OnCharacterJobsUpdated; m_monitors.Add(m_charIndustryJobsMonitor); m_corpIndustryJobsMonitor = new CharacterQueryMonitor<SerializableAPIIndustryJobs>(this, APIMethods.CorporationIndustryJobs); m_corpIndustryJobsMonitor.Updated += OnCorporationJobsUpdated; m_monitors.Add(m_corpIndustryJobsMonitor); m_charResearchPointsMonitor = new CharacterQueryMonitor<SerializableAPIResearch>(this, APIMethods.ResearchPoints); m_charResearchPointsMonitor.Updated += OnCharacterResearchPointsUpdated; m_monitors.Add(m_charResearchPointsMonitor); m_charEVEMailMessagesMonitor = new CharacterQueryMonitor<SerializableAPIMailMessages>(this, APIMethods.MailMessages); m_charEVEMailMessagesMonitor.Updated += OnCharacterEVEMailMessagesUpdated; m_monitors.Add(m_charEVEMailMessagesMonitor); m_charEVENotificationsMonitor = new CharacterQueryMonitor<SerializableAPINotifications>(this, APIMethods.Notifications); m_charEVENotificationsMonitor.Updated += OnCharacterEVENotificationsUpdated; m_monitors.Add(m_charEVENotificationsMonitor); // We enable only the monitors that require a limited api key, // full api key required monitors will be enabled individually // through each character's enabled full api key feature foreach (var monitor in m_monitors) { monitor.Enabled = !monitor.IsFullKeyNeeded; } }
/// <summary> /// Base constructor /// </summary> /// <param name="identity"></param> /// <param name="guid"></param> private CCPCharacter(CharacterIdentity identity, Guid guid) : base(identity, guid) { m_queue = new SkillQueue(this); m_marketOrders = new MarketOrderCollection(this); m_monitors = new QueryMonitorCollection(); // Initializes the query monitors m_charSheetMonitor = new CharacterQueryMonitor <SerializableAPICharacter>(this, APIMethods.CharacterSheet); m_charSheetMonitor.Updated += new QueryCallback <SerializableAPICharacter>(OnCharacterSheetUpdated); m_monitors.Add(m_charSheetMonitor); m_skillQueueMonitor = new CharacterQueryMonitor <SerializableSkillQueue>(this, APIMethods.SkillQueue); m_skillQueueMonitor.Updated += new QueryCallback <SerializableSkillQueue>(OnSkillQueueUpdated); m_monitors.Add(m_skillQueueMonitor); m_marketOrdersMonitor = new CharacterQueryMonitor <SerializableAPIOrderList>(this, APIMethods.MarketOrders); m_marketOrdersMonitor.Updated += new QueryCallback <SerializableAPIOrderList>(OnMarketOrdersUpdated); m_monitors.Add(m_marketOrdersMonitor); }
/// <summary> /// Default constructor /// </summary> /// <param name="identity">The identitiy for this character</param> /// <param name="guid"></param> protected Character(CharacterIdentity identity, Guid guid) { m_characterID = identity.CharacterID; m_name = identity.Name; m_identity = identity; m_guid = guid; m_skillGroups = new SkillGroupCollection(this); m_skills = new SkillCollection(this); m_certificateCategories = new CertificateCategoryCollection(this); m_certificateClasses = new CertificateClassCollection(this); m_certificates = new CertificateCollection(this); m_implants = new ImplantSetCollection(this); m_plans = new PlanCollection(this); for (int i = 0; i < m_attributes.Length; i++) { m_attributes[i] = new CharacterAttribute(this, (EveAttribute)i); } m_uiSettings = new CharacterUISettings(); }
/// <summary> /// Default constructor for new uri characters /// </summary> /// <param name="identity">The identitiy for this character</param> /// <param name="uri">The uri the provided deserialization object was acquired from</param> /// <param name="source">A deserialization object for characters</param> internal UriCharacter(CharacterIdentity identity, Uri uri, APIResult <SerializableAPICharacterSheet> source) : base(identity, Guid.NewGuid()) { m_uri = uri; Import(source); }
/// <summary> /// Exported character constructor /// </summary> /// <param name="identity">The identitiy for this character</param> /// <param name="uri">The uri the provided deserialization object was acquired from</param> /// <param name="source">A deserialization object for CcpCharacters</param> internal UriCharacter(CharacterIdentity identity, Uri uri, SerializableCCPCharacter serial) : base(identity, Guid.NewGuid()) { m_uri = uri; Import(serial); }
/// <summary> /// Default constructor for new uri characters /// </summary> /// <param name="identity">The identitiy for this character</param> /// <param name="uri">The uri the provided deserialization object was acquired from</param> /// <param name="source">A deserialization object for characters</param> internal UriCharacter(CharacterIdentity identity, Uri uri, APIResult<SerializableAPICharacterSheet> source) : base(identity, Guid.NewGuid()) { m_uri = uri; Import(source); }
/// <summary> /// Deserialization constructor /// </summary> /// <param name="identity"></param> /// <param name="serial"></param> internal UriCharacter(CharacterIdentity identity, SerializableUriCharacter serial) : base(identity, serial.Guid) { Import(serial); }
/// <summary> /// Default constructor, this class is only instantiated by CharacterIdentity /// </summary> /// <param name="character">The character identitity this collection is bound to.</param> internal CharacterCollection(CharacterIdentity characterID) { m_characterID = characterID; m_ccp = new CCPCharacter(characterID); }
/// <summary> /// Deserialization constructor /// </summary> /// <param name="identity">The identitiy for this character</param> /// <param name="serial">A deserialization object for characters</param> internal CCPCharacter(CharacterIdentity identity, SerializableCCPCharacter serial) : this(identity, serial.Guid) { Import(serial); }
/// <summary> /// Constructor for a new CCP character on a new identity. /// </summary> /// <param name="identity"></param> internal CCPCharacter(CharacterIdentity identity) : this(identity, Guid.NewGuid()) { m_charSheetMonitor.ForceUpdate(true); }
/// <summary> /// Deserialization constructor. /// </summary> /// <param name="identity">The identity for this character</param> /// <param name="serial">A deserialization object for characters</param> internal CCPCharacter(CharacterIdentity identity, SerializableCCPCharacter serial) : this(identity, serial.Guid) { Import(serial); }
/// <summary> /// Constructor. /// </summary> /// <param name="identity"></param> public CharacterIdentityChangedEventArgs(CharacterIdentity identity) { CharacterIdentity = identity; }
/// <summary> /// Constructor for a new CCP character on a new identity. /// </summary> /// <param name="identity"></param> internal CCPCharacter(CharacterIdentity identity) : this(identity, Guid.NewGuid()) { m_charSheetMonitor.ForceUpdate(true); m_skillQueueMonitor.ForceUpdate(true); }
/// <summary> /// Updates this character with the given informations /// </summary> /// <param name="identity"></param> /// <param name="uri"></param> /// <param name="result"></param> internal void Update(CharacterIdentity identity, Uri uri, APIResult<SerializableAPICharacterSheet> result) { m_characterID = identity.CharacterID; m_identity = identity; m_uri = uri; Import(result); }