示例#1
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;
                            }
                        }
                    }
                }
            }
        }