Exemplo n.º 1
0
 /// <summary>
 /// Deserialization constructor from datafiles.
 /// </summary>
 /// <param name="src"></param>
 /// <param name="skillArrayIndex"></param>
 internal StaticSkillGroup(SerializableSkillGroup src, ref int skillArrayIndex)
 {
     m_ID   = src.ID;
     m_name = src.Name;
     foreach (var srcSkill in src.Skills)
     {
         m_items[srcSkill.ID] = new StaticSkill(this, srcSkill, skillArrayIndex);
         skillArrayIndex++;
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Generate the skills datafile.
        /// </summary>
        internal static void GenerateDatafile()
        {
            Stopwatch stopwatch = Stopwatch.StartNew();

            Util.ResetCounters();

            Console.WriteLine();
            Console.Write(@"Generating skills datafile... ");

            // Export skill groups
            List <SerializableSkillGroup> listOfSkillGroups = new List <SerializableSkillGroup>();

            foreach (InvGroups group in Database.InvGroupsTable.Where(
                         x => x.CategoryID == DBConstants.SkillCategoryID && x.ID != DBConstants.FakeSkillsGroupID).OrderBy(x => x.Name))
            {
                SerializableSkillGroup skillGroup = new SerializableSkillGroup
                {
                    ID   = group.ID,
                    Name = group.Name,
                };

                // Add skills in skill group
                skillGroup.Skills.AddRange(ExportSkillsInGroup(group).OrderBy(x => x.Name));

                // Add skill group
                listOfSkillGroups.Add(skillGroup);
            }

            // Serialize
            SkillsDatafile datafile = new SkillsDatafile();

            datafile.SkillGroups.AddRange(listOfSkillGroups);

            Util.DisplayEndTime(stopwatch);

            Util.SerializeXml(datafile, DatafileConstants.SkillsDatafile);
        }