Example #1
0
        private static CoroutinePlus StartCoroutine(Yielder yielder)
        {
            var routine = new CoroutinePlus(yielder);

            StartCoroutine(routine);
            return(routine);
        }
Example #2
0
            internal CoroutinePlus Then(Yielder next)
            {
                if (_hasRunAndFinished)
                {
                    return(StartCoroutine(next));
                }

                if (_then == null)
                {
                    _then = new Queue <CoroutinePlus>();
                }
                var promised = new CoroutinePlus(next);

                _then.Enqueue(promised);
                return(promised);
            }
Example #3
0
 public static void StartCoroutine(CoroutinePlus coroutine)
 {
     coroutine.SetCoroutine(Executor.StartCoroutine(coroutine.Run()));
 }
Example #4
0
        private static CoroutinePlus CreateCoroutine(Yielder yielder)
        {
            var routine = new CoroutinePlus(yielder);

            return(routine);
        }