private static PipeableCoroutine <T> StartPipeableCoroutine <T>(WaitForResult <T> waiter) { var routine = new PipeableCoroutine <T>(waiter); StartCoroutine(routine); return(routine); }
// The WaitForResult<T> construct gives us the ability to clean up syntax by piping results from Then() public static PipeableCoroutine <T> StartCoroutine <T>(WaitForResult <T> waiter) => StartPipeableCoroutine(waiter);
public PipeableCoroutine(WaitForResult <T> waiter) : base(new Yielder(waiter)) { _waiter = waiter; }