public void Update()
        {
            int count = coroutineQueue.Count;

            while (count-- > 0)
            {
                EditorCoroutine coroutine = coroutineQueue.Dequeue();
                if (!coroutine.IsRunning)
                {
                    continue;
                }
                ICondition condition = coroutine.Current as ICondition;
                if (condition == null || condition.Result(coroutine))
                {
                    if (!coroutine.MoveNext())
                    {
                        continue;
                    }
                }
                coroutineQueue.Enqueue(coroutine);
            }
        }
Esempio n. 2
0
 public void StopCoroutine(EditorCoroutine _coroutine)
 {
     CoroutineMachineController.StopCoroutine(_coroutine);
 }
Esempio n. 3
0
 public static void StopCoroutine(EditorCoroutine _coroutine)
 {
     CoroutineMachine.StopCoroutine(_coroutine);
 }
Esempio n. 4
0
 public bool Result(EditorCoroutine _coroutine)
 {
     return(predicate());
 }
Esempio n. 5
0
 public bool Result(EditorCoroutine _coroutine)
 {
     return(EditorApplication.timeSinceStartup >= _coroutine.TimeSinceStartup + time);
 }
 public void StopCoroutine(EditorCoroutine _coroutine)
 {
     _coroutine.Stop();
 }
Esempio n. 7
0
 public bool Result(EditorCoroutine _coroutine)
 {
     return(!IsRunning);
 }