Exemple #1
0
        /// <summary>
        /// Sorts a plan according to the given settings.
        /// </summary>
        /// <param name="settings">The settings.</param>
        /// <exception cref="System.ArgumentNullException">settings</exception>
        public void Sort(PlanSorting settings)
        {
            settings.ThrowIfNull(nameof(settings));

            PlanEntrySort criteria = settings.Order == ThreeStateSortOrder.None ? PlanEntrySort.None : settings.Criteria;

            Sort(criteria, settings.Order == ThreeStateSortOrder.Descending, settings.GroupByPriority);
        }
Exemple #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>();
            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);
            }
        }
Exemple #3
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);
            }
        }
Exemple #4
0
 public SerializablePlan()
 {
     Entries            = new List <SerializablePlanEntry>();
     SortingPreferences = new PlanSorting();
 }
Exemple #5
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="character"></param>
 public Plan(BaseCharacter character)
     : base(character)
 {
     m_sortingPreferences = new PlanSorting();
     m_invalidEntries     = new InvalidPlanEntry[0];
 }
Exemple #6
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="character"></param>
 public Plan(BaseCharacter character)
     : base(character)
 {
     m_sortingPreferences = new PlanSorting();
 }
Exemple #7
0
        /// <summary>
        /// Sorts a plan according to the given settings.
        /// </summary>
        /// <param name="settings"></param>
        public void Sort(PlanSorting settings)
        {
            var criteria = (settings.Order == ThreeStateSortOrder.None ? PlanEntrySort.None : settings.Criteria);

            Sort(criteria, (settings.Order == ThreeStateSortOrder.Descending), settings.GroupByPriority);
        }
Exemple #8
0
 public SerializablePlan()
 {
     SortingPreferences = new PlanSorting();
     m_entries          = new Collection <SerializablePlanEntry>();
     m_invalidEntries   = new Collection <SerializableInvalidPlanEntry>();
 }