示例#1
0
        public void Append(ExecuteNode item)
        {
            if (m_NodeList == null)
            {
                m_NodeList     = new List <ExecuteNode>();
                m_CurrentIndex = -1;
            }

            m_NodeList.Add(item);
        }
示例#2
0
        public void Append(ExecuteNode node)
        {
            if (node == null)
            {
                return;
            }

            if (m_ExecuteContainer == null)
            {
                m_ExecuteContainer = new ExecuteNodeContainer();
            }
            m_ExecuteContainer.Append(node);
        }
示例#3
0
        private void MoveToNextUpdateFunc()
        {
            if (m_CurrentNode != null)
            {
                m_CurrentNode.OnEnd();
            }

            ++m_CurrentIndex;
            if (m_CurrentIndex >= m_NodeList.Count)
            {
                m_TotalSchedule = 1.0f;
                m_CurrentNode   = null;

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

                    On_ExecuteContainerEndEvent = null;
                }
            }
            else
            {
                m_CurrentNode = m_NodeList[m_CurrentIndex];
                m_CurrentNode.OnBegin();

                if (m_CurrentIndex == 0)
                {
                    if (On_ExecuteContainerBeginEvent != null)
                    {
                        On_ExecuteContainerBeginEvent();
                    }
                }

                if (On_ExecuteTipsEvent != null)
                {
                    On_ExecuteTipsEvent(m_CurrentNode.tips);
                }
            }
        }