示例#1
0
        public override void OnUpdate(float deltatime)
        {
            BaseNode childNode = m_CompositeNode.Childs[0];

            childNode.Run(deltatime);
            NodeStatus childNodeStatus = childNode.Status;

            if (childNodeStatus == NodeStatus.Error)
            {
                m_CompositeNode.Status = NodeStatus.Error;
                return;
            }

            if (childNodeStatus == NodeStatus.Failed || childNodeStatus == NodeStatus.Succeed)
            {
                CurTimes++;

                if (m_LoopTimes != -1 && CurTimes >= m_LoopTimes)
                {
                    m_CompositeNode.Status = NodeStatus.Succeed;
                    return;
                }

                //重置子节点状态
                childNode.Reset();
            }
        }
示例#2
0
        public override void OnUpdate(float deltatime)
        {
            m_CurFrames++;

            BaseNode childNode = m_CompositeNode.Childs[0];

            childNode.Run(deltatime);
            NodeStatus childNodeStatus = childNode.Status;

            if (childNodeStatus == NodeStatus.Error)
            {
                m_CompositeNode.Status = NodeStatus.Error;
                return;
            }

            if (m_CurFrames >= m_Frames)
            {
                m_CompositeNode.Status = NodeStatus.Succeed;
                return;
            }

            if (childNodeStatus == NodeStatus.Failed || childNodeStatus == NodeStatus.Succeed)
            {
                childNode.Reset();
            }
        }
示例#3
0
        public override void OnUpdate(float deltatime)
        {
            CurTime += deltatime;
            BaseNode childNode = m_CompositeNode.Childs[0];

            childNode.Run(deltatime);
            NodeStatus childNodeStatus = childNode.Status;

            if (childNodeStatus == NodeStatus.Error)
            {
                m_CompositeNode.Status = NodeStatus.Error;
                return;
            }

            if (CurTime >= Duration / 1000f)
            {
                m_CompositeNode.Status = NodeStatus.Succeed;
                return;
            }

            if (childNodeStatus == NodeStatus.Failed || childNodeStatus == NodeStatus.Succeed)
            {
                childNode.Reset();
            }
        }