示例#1
0
 private void HandleStats(XElement el, string rootKey)
 {
     foreach (var ele in el.Elements())
     {
         PrimaryStatsParser.ParseStats(ele, table.Table[rootKey].Stats);
     }
 }
示例#2
0
        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;
                            }
                        }
                    }
                }
            }
        }