Beispiel #1
0
        private IEnumerator YieldUpdate()
        {
            while (m_current != null && m_current.status != Status.Failure && m_current.status != Status.Error)
            {
                m_current.OnTick();

                switch (m_current.status)
                {
                case Status.Ready:
                    break;

                case Status.Success:
                    m_current = Next();
                    break;

                case Status.Failure:
                    m_status = Status.Failure;
                    break;

                case Status.Error:
                    m_status = Status.Error;
                    break;

                case Status.Running:
                    m_status = Status.Running;
                    break;
                }

                yield return(new WaitForEndOfFrame());
            }
            m_status = Status.Success;
        }