protected Ability(int x, int y, int sizeX, int sizeY, int visualX, int visualY, int visualSizeX, int visualSizeY, int power, AbilityEffectEnum abilityEffect, IUnit caster) : base(x, y, sizeX, sizeY) { VisualX = visualX; VisualY = visualY; VisualSizeX = visualSizeX; VisualSizeY = visualSizeY; this.Power = power; AbilityEffect = abilityEffect; this.Caster = caster; }
public virtual ReactionTypeEnum ReactToAbility(AbilityEffectEnum abilityEffect) { switch (abilityEffect) { case AbilityEffectEnum.DamagingAbility: return(ReactionTypeEnum.TakeDamage); case AbilityEffectEnum.HealingAbility: return(ReactionTypeEnum.TakeHeal); case AbilityEffectEnum.BuffingAbility: return(ReactionTypeEnum.TakeBuff); case AbilityEffectEnum.DebuffingAbility: return(ReactionTypeEnum.TakeDebuff); case AbilityEffectEnum.DisplacingAbility: throw new NotImplementedException("Displacing Ability"); default: throw new ArgumentOutOfRangeException(nameof(abilityEffect), abilityEffect, null); } }
protected MeleeAbility(int x, int y, int sizeX, int sizeY, int visualX, int visualY, int visualSizeX, int visualSizeY, int power, AbilityEffectEnum abilityEffect, IUnit caster) : base(x, y, sizeX, sizeY, visualX, visualY, visualSizeX, visualSizeY, power, abilityEffect, caster) { }