Beispiel #1
0
        void ProcessYield(IYieldable yieldable)
        {
            if (yieldable == null && yieldable.IsFinished)
            {
                return;
            }

            currentCoroutine.Push(yieldable);
            if (yieldable is IRunnable runnable)
            {
                using (new RunnableContextSection(this, runnable))
                {
                    RunRunnable(runnable);
                }
            }

            // TODO: Yieldable 타입에 따른 처리
            // WaitForAnimationEnd
            // WaitForFixedUpdateEnd
        }
Beispiel #2
0
 public YieldWork(IYieldable yieldable)
 {
     this.yieldable = yieldable;
 }
Beispiel #3
0
        IEnumerator QuitAfterYieldable(IYieldable yieldable)
        {
            yield return(yieldable);

            ExitState();
        }
Beispiel #4
0
 public void Push(IYieldable yieldable)
 {
     yieldableStack.Add(yieldable);
 }