示例#1
0
 static void ParseConnectedSkills()
 {
     SkillConnections = new List <SkillConnection>();
     foreach (var sk in ConnectedSkillsDoc.Descendants().Where(x => x.Name == "Skill"))
     {
         var id = Convert.ToInt32(sk.Attribute("id").Value);
         Enum.TryParse(sk.Attribute("class").Value, out Class c);
         var skc = new SkillConnection(id, c);
         foreach (var conn in sk.Descendants())
         {
             skc.AddConnectedSkill(Convert.ToInt32(conn.Attribute("id").Value));
         }
         SkillConnections.Add(skc);
     }
 }
示例#2
0
        public static void Load()
        {
            var f = File.OpenText(Environment.CurrentDirectory + "/resources/data/skills.tsv");

            SkillConnections = new List <SkillConnection>();
            Skills           = new Dictionary <Class, Dictionary <uint, Skill> >();
            for (int i = 0; i <= 12; i++)
            {
                Skills.Add((Class)i, new Dictionary <uint, Skill>());
            }
            Skills.Add(Class.Common, new Dictionary <uint, Skill>());


            while (true)
            {
                var line = f.ReadLine();
                if (line == null)
                {
                    break;
                }
                var s  = line.Split('\t');
                var id = Convert.ToUInt32(s[0]);
                Enum.TryParse(s[1], out Class c);
                var name     = s[2];
                var tooltip  = s[3];
                var iconName = s[4];

                var sk = new Skill(id, c, name, tooltip);
                sk.SetSkillIcon(iconName);
                Skills[c].Add(id, sk);


                var skc = new SkillConnection((int)id, c);
                for (int i = 5; i < s.Count(); i++)
                {
                    skc.AddConnectedSkill(Convert.ToInt32(s[i]));
                }
                if (skc.ConnectedSkills.Count > 0)
                {
                    SkillConnections.Add(skc);
                }
            }
        }