public virtual void Stop() { // Tell the executing command to stop immediately if (activeCommand != null) { activeCommand.isExecuting = false; activeCommand.OnStopExecuting(); } // This will cause the execution loop to break on the next iteration jumpToCommandIndex = int.MaxValue; }
/// <summary> /// Stop executing commands in this Block. /// </summary> public virtual void Stop() { // Tell the executing command to stop immediately if (activeCommand != null) { activeCommand.IsExecuting = false; activeCommand.OnStopExecuting(); } // This will cause the execution loop to break on the next iteration jumpToCommandIndex = int.MaxValue; //force idle here so other commands that rely on block not executing are informed this frame rather than next ReturnToIdle(); }