// PARA EARLY/LATE MODIFIERS, ANTES DE EJECUTAR Y DESPUES DE EJECUTADA private void ActionModifierCheck(IAbility ability, ABILITYMODIFIEREXECUTIONTIME executionTime) { if (ability.actionStatus == ABILITYEXECUTIONSTATUS.CANCELED) { return; } List <AbilityModifier> abilityModifier = ability.GetAbilityModifierOrderByExecution(); for (int i = 0; i < abilityModifier.Count; i++) { if (abilityModifier[i].executionTime == executionTime) { Invoker.AddNewCommand(abilityModifier[i].ExecuteCmd(ability)); Invoker.ExecuteCommands(); if (ability.actionStatus == ABILITYEXECUTIONSTATUS.CANCELED) { return; } } } }