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); } }
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); } } }