public TowerInfo RemoveAura(AuraInfo aura) { if (IsAuraAdded(aura)) { RemoveAuraInternal(aura); } return(this); }
public TowerInfo AddAura(AuraInfo aura) { if (!IsAuraAdded(aura)) { AddAuraInternal(aura); } return(this); }
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); }
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; }
private bool IsAuraAdded(AuraInfo aura) { return(allAuras.ContainsKey(aura.Id)); }