Exemplo n.º 1
0
        /// <summary>
        /// Get new toon instance from Xml
        /// </summary>
        /// <param name="document">Xml configuration</param>
        /// <returns>Toon instance</returns>
        public Toon ParseToon(XDocument document)
        {
            if (document == null)
                throw new ArgumentNullException("document");

            var element = document.Root;
            var result = new Toon();

            var value = element.Attribute("id").Value;
            result.Id = Guid.Parse(value);

            value = element.Element("mainStat").Value;
            result.MainAttackStat = (StatTypeEnum)Enum.Parse(typeof(StatTypeEnum), value, true);

            value = element.Element("attackModifier").Value;
            result.AttackModifier = double.Parse(value, CultureInfo.InvariantCulture);

            var initialStats = new List<ToonStat>();
            var statParser = new StatParser();
            var statElements = element.Element("stats").Elements().ToList();
            statElements.ForEach(x => initialStats.Add(statParser.ParseToonStat(x)));
            result.InitialStats = initialStats;

            return result;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Get new talent instance from Xml
        /// </summary>
        /// <param name="document">Xml configuration</param>
        /// <returns>Talent instance</returns>
        public Talent ParseTalent(XDocument document)
        {
            if (document == null)
                throw new ArgumentNullException("document");

            var element = document.Root;
            var result = new Talent();

            var value = element.Attribute("id").Value;
            result.Id = Guid.Parse(value);

            value = element.Element("mightInitial").Value;
            result.MightInitial = int.Parse(value);

            value = element.Element("tier").Value;
            result.Tier = int.Parse(value);

            result.Stats = new List<Stat>();
            var statParser = new StatParser();
            var statElements = element.Element("stats").Elements().ToList();
            statElements.ForEach(x => result.Stats.Add(statParser.ParseTalentStat(x)));

            return result;
        }