Пример #1
0
 public TowerInfo RemoveAura(AuraInfo aura)
 {
     if (IsAuraAdded(aura))
     {
         RemoveAuraInternal(aura);
     }
     return(this);
 }
Пример #2
0
 public TowerInfo AddAura(AuraInfo aura)
 {
     if (!IsAuraAdded(aura))
     {
         AddAuraInternal(aura);
     }
     return(this);
 }
Пример #3
0
        private void AddAuraInternal(AuraInfo aura)
        {
            Bonus.Damage         += aura.Damage;
            Bonus.AttackRate     += aura.AttackRate;
            Bonus.AttackDistance += aura.AttackDistance;
            Bonus.CritRate       += aura.CritRate;
            Bonus.CritMultiplier += aura.CritMultiplier;

            allAuras.Add(aura.Id, aura);
        }
Пример #4
0
        private void RemoveAuraInternal(AuraInfo aura)
        {
            allAuras.Remove(aura.Id);

            Bonus.Damage         -= aura.Damage;
            Bonus.AttackRate     -= aura.AttackRate;
            Bonus.AttackDistance -= aura.AttackDistance;
            Bonus.CritRate       -= aura.CritRate;
            Bonus.CritMultiplier -= aura.CritMultiplier;
        }
Пример #5
0
 private bool IsAuraAdded(AuraInfo aura)
 {
     return(allAuras.ContainsKey(aura.Id));
 }