Exemplo n.º 1
0
        public Mob ExecuteAbility(IAbility ability, Mob mob)
        {
            switch (ability.GetAbilityType())
            {
            case AbilityType.OffensiveRageMelee:
                return(ExecuteOffensiveMeleeRageAbility((IOffensiveMeleeRageAbility)ability, mob));

            case AbilityType.OffensiveEnergyMelee:
                return(ExecuteOffensiveMeleeEnergyAbility((IOffensiveMeleeEnergyAbility)ability, mob));

            case AbilityType.OffensiveManaMelee:
                return(ExecuteOffensiveMeleeManaAbility((IOffensiveMeleeManaAbility)ability, mob));

            case AbilityType.OffensiveSpell:
                return(ExecuteOffensiveSpellAbility((IOffensiveSpellAbility)ability, mob));

            case AbilityType.DefensiveMelee:
                return(ExecuteDefensiveMeleeAbility((IDefensiveMeleeAbility)ability));

            case AbilityType.DefensiveSpell:
                return(ExecuteDefensiveSpellAbility((IDefensiveSpellAbility)ability));

            case AbilityType.CCMelee:
                return(ExecuteCCMeleeAbility((ICCMeleeAbility)ability, mob));

            case AbilityType.CCSpell:
                return(ExecuteCCSpellAbility((ICCSpellAbility)ability, mob));

            default:
                Console.WriteLine("Ability not known");
                return(mob);
            }
        }