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(); } }
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(); } }
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(); } }