示例#1
0
        public XElement ToXmlElement()
        {
            var activeRoot = new XElement("Skill",
                                          new XAttribute("Type", GetType().FullName),
                                          Information.ToXmlElement());

            activeRoot.Add(new XElement("Auxiliary",
                                        AuxiliaryPassiveSkills.Select(passiveSkill => passiveSkill.ToXmlElement())));

            return(activeRoot);
        }
示例#2
0
        private double AdditionalValueFromPassive <T>(double baseValue, Func <T, double> valueApplyingFunction)
        {
            double additionalValue = 0.0;

            if (AuxiliaryPassiveSkills != null)
            {
                foreach (var passiveSkill in AuxiliaryPassiveSkills.OfType <T>()
                         .Where(passiveSkill => (passiveSkill as PassiveSkill).Information.AcquisitionLevel > 0))
                {
                    additionalValue += (valueApplyingFunction(passiveSkill) - baseValue);
                }
            }

            return(additionalValue);
        }