Example #1
0
        /// <summary>
        /// Imports data from a serialization object
        /// </summary>
        /// <param name="serial"></param>
        public void Import(SerializablePlan serial)
        {
            // Update name
            m_name = serial.Name;
            m_sortingPreferences = serial.SortingPreferences.Clone();

            // Update entries
            List <PlanEntry>        entries        = new List <PlanEntry>();
            List <InvalidPlanEntry> invalidEntries = new List <InvalidPlanEntry>();

            foreach (var serialEntry in serial.Entries)
            {
                PlanEntry entry = new PlanEntry(this, serialEntry);

                if (entry.Skill != null)
                {
                    entries.Add(entry);
                }
                // There are buggy entries in the plan
                else
                {
                    var invalidEntry = new InvalidPlanEntry()
                    {
                        SkillName    = serialEntry.SkillName,
                        PlannedLevel = serialEntry.Level
                    };

                    invalidEntries.Add(invalidEntry);
                }
            }

            RebuildPlanFrom(entries);
            FixPrerequisites();

            foreach (var serialInvalidEntry in serial.InvalidEntries)
            {
                var invalidEntry = new InvalidPlanEntry()
                {
                    SkillName    = serialInvalidEntry.SkillName,
                    PlannedLevel = serialInvalidEntry.PlannedLevel,
                    Acknowledged = serialInvalidEntry.Acknowledged
                };

                invalidEntries.Add(invalidEntry);
            }

            m_invalidEntries = invalidEntries.ToArray();

            // Notify name change
            if (m_isConnected)
            {
                EveClient.OnPlanNameChanged(this);
            }
        }
Example #2
0
        /// <summary>
        /// Imports data from a serialization object
        /// </summary>
        /// <param name="serial"></param>
        public void Import(SerializablePlan serial)
        {
            // Update name
            m_name = serial.Name;
            m_sortingPreferences = serial.SortingPreferences.Clone();

            // Update entries
            List <PlanEntry> entries = new List <PlanEntry>();

            foreach (var serialEntry in serial.Entries)
            {
                entries.Add(new PlanEntry(this, serialEntry));
            }
            RebuildPlanFrom(entries);

            // Notify name change
            if (m_isConnected)
            {
                EveClient.OnPlanNameChanged(this);
            }
        }