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;
            }
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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;
        }