示例#1
0
        /// <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;
            }
        }
示例#2
0
 /// <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);
 }
示例#3
0
 /// <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);
 }
示例#4
0
        /// <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;
            }
        }
示例#5
0
        /// <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;
            }
        }
示例#6
0
        /// <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);
        }
示例#7
0
        /// <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();
        }
示例#8
0
        /// <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();
        }
示例#9
0
 /// <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);
 }
示例#10
0
 /// <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);
 }
示例#11
0
 /// <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);
 }
示例#12
0
 /// <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);
 }
示例#13
0
 /// <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);
 }
示例#15
0
 /// <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);
 }
示例#16
0
 /// <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);
 }
示例#17
0
 /// <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);
 }
示例#18
0
 /// <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);
 }
示例#19
0
 /// <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>
 /// Constructor.
 /// </summary>
 /// <param name="identity"></param>
 public CharacterIdentityChangedEventArgs(CharacterIdentity identity)
 {
     CharacterIdentity = identity;
 }
示例#21
0
 /// <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);
 }
示例#22
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="identity"></param>
 public CharacterIdentityChangedEventArgs(CharacterIdentity identity)
 {
     CharacterIdentity = identity;
 }
示例#23
0
 /// <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);
 }