public void IntertuptAction(ActionInteruptType interuptType /*What caused the action to end prematurly*/)
 {
     foreach (ActionInteruptType type in currentAction.PossibleInterrupts)
     {
         if (type == interuptType && type != ActionInteruptType.None)
         {
             EndAction(type);
             break;
         }
     }
 }
        public void EndAction(ActionInteruptType interruptType = ActionInteruptType.None)
        {
            runningAction = false;

            if (runAction != null)
            {
                StopCoroutine(runAction);
            }

            currentAction = null;
            FireActionStoppedEvent();

            if (interruptType == ActionInteruptType.None)
            {
                return;
            }
        }