private void TryStepNext() { if (curr != null) { StepPool.RecoveryStep(curr); } curr = null; if (!IEnumerator.MoveNext()) { //如果没有下一步了,结束 End = true; return; } Run(); }
/// <summary> /// /// </summary> /// <param name="iEnumerator"></param> /// <returns> end</returns> private bool TryStepNext(IEnumerator <Step> iEnumerator) { var step = iEnumerator.Current; if (step != null) { StepPool.RecoveryStep(step); step = null; } if (iEnumerator.MoveNext()) { StartOneStep(iEnumerator); return(false); } else { mWaitNext = false; return(true); //没有下一步了完了. } }
public static Step NewStartStep(this StepProcess stepProcess, IEnumerator <Step> iEnumerator) { return(StepPool.NewStartStep(iEnumerator)); }
public static Step NewWaitStep(this StepProcess stepProcess, Func <bool> waitFn) { return(StepPool.NewWaitStep(waitFn)); }
public static Step NewWaitFrame(this StepProcess stepProcess, int frame) { return(StepPool.NewWaitFrame(frame)); }
public static Step NewWaitTime(this StepProcess stepProcess, float needWaitTime, bool realTime = true) { return(StepPool.NewWaitTime(needWaitTime, realTime)); }
public static Step NewStep(this StepProcess stepProcess) { return(StepPool.NewStep()); }