public LazyEnumerator(
     IEnumerable <System.Func <IAsyncResultFunc <TContext> > > asyncActions,
     IEnumeratorFactory <TContext> enumeratorFactory)
 {
     this.asyncActions      = asyncActions;
     this.enumeratorFactory = enumeratorFactory;
 }
Beispiel #2
0
 public StateSet(IEnumeratorFactory enter, IEnumeratorFactory update, IEnumeratorFactory exit)
 {
     this.enter  = enter;
     this.update = update;
     this.exit   = exit;
     locked      = false;
 }
Beispiel #3
0
 public StateSet(IEnumeratorFactory enter, IEnumeratorFactory update, IEnumeratorFactory exit, bool locked)
 {
     this.enter  = enter;
     this.update = update;
     this.exit   = exit;
     this.locked = locked;
 }
Beispiel #4
0
 public BuildAsyncActionBuilders(
     IEnumerable <System.Action <AsyncFuncBuilder <TContext> > > asyncActionBuilderActions,
     IEnumeratorFactory <TContext> enumeratorFactory)
 {
     this.asyncActionBuilderActions = asyncActionBuilderActions;
     this.enumeratorFactory         = enumeratorFactory;
 }
Beispiel #5
0
 public StateSet(IEnumeratorFactory update)
 {
     this.enter  = null;
     this.update = update;
     this.exit   = null;
     locked      = false;
 }
Beispiel #6
0
    private IEnumerator StateHandler(int state, IEnumeratorFactory enter, IEnumeratorFactory update, IEnumeratorFactory exit)
    {
        IEnumerator enter_ = enter != null?enter() : null;

        IEnumerator update_ = update != null?update() : null;

        IEnumerator exit_ = exit != null?exit() : null;

        if (stateSets[state].locked)
        {
            _locked = true;
        }

        while (enter_ != null && enter_.MoveNext())
        {
            yield return(enter_.Current);
        }

        while (update_ != null && currentStates.Contains(state) && update_.MoveNext())
        {
            yield return(update_.Current);
        }

        while (currentStates.Contains(state))
        {
            yield return(null);
        }

        while (exit_ != null && exit_.MoveNext())
        {
            yield return(exit_.Current);
        }

        if (stateSets[state].locked)
        {
            _locked = false;
        }
    }
 public StateSet ( IEnumeratorFactory enter , IEnumeratorFactory update , IEnumeratorFactory exit , bool locked )
 {
     this.enter = enter;
     this.update = update;
     this.exit = exit;
     this.locked = locked;
 }
 public StateSet ( IEnumeratorFactory enter , IEnumeratorFactory update , IEnumeratorFactory exit )
 {
     this.enter = enter;
     this.update = update;
     this.exit = exit;
     locked = false;
 }
 public StateSet ( IEnumeratorFactory update )
 {
     this.enter = null;
     this.update = update;
     this.exit = null;
     locked = false;
 }
Beispiel #10
0
    private IEnumerator StateHandler ( int state , IEnumeratorFactory enter , IEnumeratorFactory update , IEnumeratorFactory exit )
    {
        IEnumerator enter_ = enter != null ? enter() : null;
        IEnumerator update_ = update != null ? update() : null;
        IEnumerator exit_ = exit != null ? exit() : null;

        if ( stateSets[ state ].locked )
            _locked = true;

        while ( enter_ != null && enter_.MoveNext() )
            yield return enter_.Current;

        while ( update_ != null && currentStates.Contains( state ) && update_.MoveNext() )
            yield return update_.Current;

        while ( currentStates.Contains( state ) )
            yield return null;

        while ( exit_ != null && exit_.MoveNext() )
            yield return exit_.Current;

        if ( stateSets[ state ].locked )
            _locked = false;
    }