void TryExecute(bool isForceExecute) { if (CanExecuteByNetwork() && actions.Count != 0 && (status != ExecutorStatus.Disabled && (actions.Peek().Priority != ActionPriority.Blocked || isForceExecute))) { currentAction = actions.Pop(); BeginExecute(currentAction); } }
void BeginExecute(ExecutorAction action) { try { executingActions++; action.Method.DynamicInvoke(action.Args); } catch { RaiseExecuteFailed(); } }
public void AddAction(ExecutorAction action) { actions.Push(action); TryExecute(false); }