コード例 #1
0
        public virtual IEnumerator IEEnterLoopTo(CoroutineHFSMState toState, params object[] args)
        {
            var hfsmList = new List <CoroutineHFSM>();           //倒序
            var hfsm     = toState.parentHFSM as CoroutineHFSM;

            while (hfsm != this)
            {
                hfsmList.Add(hfsm);
                hfsm = hfsm.parentHFSM as CoroutineHFSM;
            }

            for (int i = hfsmList.Count - 1; i >= 0; i--)
            {
                yield return(hfsmList[i].IEEnter(args));
            }

            yield return(toState.IEEnter(args));
        }