public void Suspend(IEntity entity, ActionSuspendType suspendType)
 {
     Process.Suspend(entity, suspendType);
 }
 public void Suspend(IEntity entity, ActionSuspendType suspendType)
 {
     if (IsProcessing)
     {
         if (MoveNext())
             Current(entity, (ActionStatus) suspendType);
         IsProcessing = false;
         Reset();
     }
 }
 public void SuspendFirstAction(string actionName, ActionSuspendType suspendType)
 {
     foreach (var currentAction in CurrentActions)
         if (currentAction.Name.Equals(actionName))
         {
             currentAction.Suspend(this, suspendType);
             CurrentActions.Remove(currentAction);
             break;
         }
 }
 public void SuspendAllAction(ActionSuspendType suspendType)
 {
     if (CurrentActions.Count > 0)
     {
         foreach (MonoAction action in CurrentActions)
             action.Suspend(this, suspendType);
         CurrentActions.Clear();
     }
 }
 public void SuspendActionIf(Predicate<MonoAction> predicate, ActionSuspendType suspendType)
 {
     foreach (var currentAction in CurrentActions)
         if (predicate(currentAction))
         {
             currentAction.Suspend(this, suspendType);
             CurrentActions.Remove(currentAction);
         }
 }