public IEnumerable <ICoroutineResult> CoroutineWaitingHavingTimeoutNotExploding() { _taskRun = false; _taskStarted = false; _completed = false; var completed = false; yield return(CoroutineResult.Wait); yield return(CoroutineResult.RunTask(Task.Factory.StartNew(() => { _taskStarted = true; Thread.Sleep(100); _taskRun = true; }), "CoroutineWaitingHavingTimeoutNotExploding") .OnComplete(() => { completed = true; }) .WithTimeout(1000) .AndWait()); if (completed) { _completed = true; } }
public IEnumerable <ICoroutineResult> CoroutineWaitingForTask(int wait = 100) { _taskRun = false; _taskStarted = false; _completed = false; var completed = false; yield return(CoroutineResult.Wait); yield return(CoroutineResult.RunTask(Task.Factory.StartNew(() => { _taskStarted = true; Thread.Sleep(wait); _taskRun = true; }), "CoroutineWaitingForTask") .OnComplete(() => { completed = true; }).AndWait()); if (completed) { _completed = true; } }
public IEnumerable <ICoroutineResult> NotWaitingForTask() { _notWaitingStarted = true; yield return(CoroutineResult.Wait); yield return(CoroutineResult.RunTask(Task.Factory.StartNew(() => { _taskStarted = true; Thread.Sleep(100); _taskRun = true; }), "NotWaitingForTask") .OnComplete(() => { _completedTaks = true; })); _notWaitingCompleted = true; }
public IEnumerable <ICoroutineResult> NotWaitingHavingTimeout() { _notWaitingStarted = true; yield return(CoroutineResult.Wait); yield return(CoroutineResult.RunTask(Task.Factory.StartNew(() => { _taskStarted = true; Thread.Sleep(150); _taskRun = true; }), "NotWaitingHavingTimeout") .OnComplete(() => { _completedTaks = true; }) .WithTimeout(100) .OnError((e) => { _exception = e; return true; })); _notWaitingCompleted = true; }