public Unit() { Abilities = new Ability[] { }; }
public override void AssignValues(Resource c, Map.Map map) { base.AssignValues(c, map); var u = c as Unit; Invulnerable = u.Invulnerable; Leveling = u.Leveling; ExperienceGiven = u.ExperienceGiven; GoldGiven = u.GoldGiven; Icon = u.Icon; if (u.HeroClasses != null) { HeroClasses = new HeroClass[u.HeroClasses.Length]; for (int i = 0; i < u.HeroClasses.Length; i++) if (u.HeroClasses[i] != null) map.HeroClasses.TryGetValue(u.HeroClasses[i].Name, out HeroClasses[i]); else HeroClasses[i] = null; } Abilities = new Ability[u.Abilities.Length]; for (int i = 0; i < u.Abilities.Length; i++) if (u.Abilities[i] != null) map.AbilityClasses.TryGetValue(u.Abilities[i].Name, out Abilities[i]); else Abilities[i] = null; IsBuilding = u.IsBuilding; MaxHitPoints = u.MaxHitPoints; MaxMana = u.MaxMana; HitPointsRegen = u.HitPointsRegen; ManaRegen = u.ManaRegen; Armor = u.Armor; ArmorType = u.ArmorType; MovementSpeed = u.MovementSpeed; AttackSpeed = u.AttackSpeed; AttackDamage = u.AttackDamage; Evade = u.Evade; Hit = u.Hit; Crit = u.Crit; Strength = u.Strength; Stamina = u.Stamina; Agility = u.Agility; Intelligence = u.Intelligence; StrengthGrowth = u.StrengthGrowth; StaminaGrowth = u.StaminaGrowth; AgilityGrowth = u.AgilityGrowth; IntelligenceGrowth = u.IntelligenceGrowth; PlayEffectWhenDying = u.PlayEffectWhenDying; RunAnimationSpeed = u.RunAnimationSpeed; ModelAttachmentsHeight = u.ModelAttachmentsHeight; Scale = u.Scale; }
public override object Clone(Map.Map map) { Ability a = new Ability(this.AbilityMethod); a.AssignValues(this, map); return a; }