DungeonMasterParser.DungeonData.ParseWeaponDescriptors C# (CSharp) Method

ParseWeaponDescriptors() private method

private ParseWeaponDescriptors ( ) : IList
return IList
        private IList<WeaponDescriptor> ParseWeaponDescriptors()
        {
            var documet = new HtmlDocument();
            documet.LoadHtml(File.ReadAllText("Data/weapons.html"));

            return documet.DocumentNode.SelectSingleNode("//table")
                .Descendants("tr")
                .Skip(1)//skipp header
                .Select(tr =>
                {
                    var columns = tr.Elements("td").Select(td => td.InnerText).ToArray();
                    var classDelta = columns[6].Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                    int val;
                    var res = new WeaponDescriptor
                    {
                        Name = columns[0].Trim(),
                        Weight = float.Parse(columns[1].Trim(), CultureInfo.InvariantCulture),
                        Strength = int.Parse(columns[3]),
                        KineticEnergy = int.Parse(columns[4]),
                        ShootDamage = int.Parse(columns[5]),
                        Class = int.Parse(classDelta[0]),
                        DeltaEnergy = int.TryParse(classDelta[1], out val) ? (int?)val : null
                    };
                    descriptorMaping.Add(GetKey(res.Name), res);
                    return res;

                })
                .ToArray();
        }