public void Append(ExecuteNode item)
        {
            if (mNodeList == null)
            {
                mNodeList     = new List <ExecuteNode>();
                mCurrentIndex = -1;
            }

            mNodeList.Add(item);
        }
        public void Append(ExecuteNode node)
        {
            if (node == null)
            {
                return;
            }

            if (m_ExecuteContainer == null)
            {
                m_ExecuteContainer = new ExecuteNodeContainer();
            }
            m_ExecuteContainer.Append(node);
        }
        private void MoveToNextUpdateFunc()
        {
            if (mCurrentNode != null)
            {
                mCurrentNode.OnEnd();
            }

            ++mCurrentIndex;
            if (mCurrentIndex >= mNodeList.Count)
            {
                mTotalSchedule = 1.0f;
                mCurrentNode   = null;

                if (OnExecuteContainerEndEvent != null)
                {
                    OnExecuteContainerEndEvent();

                    OnExecuteContainerEndEvent = null;
                }
            }
            else
            {
                mCurrentNode = mNodeList[mCurrentIndex];
                mCurrentNode.OnBegin();

                if (mCurrentIndex == 0)
                {
                    if (OnExecuteContainerBeginEvent != null)
                    {
                        OnExecuteContainerBeginEvent();
                    }
                }

                if (OnExecuteTipsEvent != null)
                {
                    OnExecuteTipsEvent(mCurrentNode.Tips);
                }
            }
        }