private void HandleStats(XElement el, string rootKey) { foreach (var ele in el.Elements()) { PrimaryStatsParser.ParseStats(ele, table.Table[rootKey].Stats); } }
public override void ReadFromFile() { foreach (var path in this._paths) { var table = RaceParamsTable.Instance as RaceParamsTable; var doc = XDocument.Load(path); ERace race = ERace.None; foreach (var el in doc.Root.Elements()) { foreach (var att in el.Attributes()) { EnumUtil <ERace> .TryGetEnumValue(att.Value, ref race); if (!table.Table.ContainsKey(race)) { table.Table.Add(race, new RaceParams()); } foreach (var ele in el.Elements()) { switch (ele.Name.ToString()) { case ("Perks"): { this.HandlePerks(ele, race); } break; case ("PrimaryStats"): { PrimaryStatsParser.ParseXElementForStats(ele, table.Table[race].PrimaryStats); } break; case ("Sprites"): { this.HandleSprites(ele, table.Table[race].Sprites); } break; } } } } } }