public static SavedAttackAbility ConvertAttackFrom(AttackAbility ability) { var obj = new SavedAttackAbility { icon = ability.icon, cooldown = ability.cooldown, mpUsage = ability.mpUsage, baseMpUsage = ability.baseMpUsage, radius = ability.radius, name = ability.name, description = ability.description, baseStat = ability.baseStat, damage = ability.damage, dotDamage = ability.dotDamage, dotTime = ability.dotTime, element = ability.element, isRanged = ability.isRanged, rangedProjectile = ability.rangedProjectile, hitEffect = ability.hitEffect, aoe = ability.aoe, points = ability.points, xp = ability.xp, level = ability.level, skillPoints = ability.skillPoints, skillTree = SavedSkillTree.ConvertFrom(ability.skillTree) }; foreach (var attribute in ability.attributes) { obj.attributes.Add(SavedAbilityAttribute.ConvertFrom(attribute)); } return(obj); }
public static SavedActiveAbility ConvertFrom(ActiveAbility ability) { if (ability is AttackAbility) { return(SavedAttackAbility.ConvertAttackFrom((AttackAbility)ability)); } var obj = new SavedActiveAbility(); if (ability == null) { return(null); } obj.targetType = ((UtilityAbility)ability).targetType; obj.icon = ability.icon; obj.cooldown = ability.cooldown; obj.mpUsage = ability.mpUsage; obj.baseMpUsage = ability.baseMpUsage; obj.radius = ability.radius; obj.name = ability.name; obj.description = ability.description; obj.baseStat = ability.baseStat; obj.points = ability.points; obj.xp = ability.xp; obj.level = ability.level; obj.skillPoints = ability.skillPoints; obj.skillTree = SavedSkillTree.ConvertFrom(ability.skillTree); foreach (var attribute in ability.attributes) { obj.attributes.Add(SavedAbilityAttribute.ConvertFrom(attribute)); } return(obj); }