public override void OnRunning(float deltatime)
        {
            DebugNode runningNode = Childs[RunningNodeIndex];

            runningNode.Update(deltatime);

            switch (runningNode.Status)
            {
            case DebugNodeStatus.Success:
                RunningNodeIndex++;
                if (RunningNodeIndex >= Childs.Count)
                {
                    Status = DebugNodeStatus.Success;
                }
                break;

            case DebugNodeStatus.Failed:
                Status = DebugNodeStatus.Failed;
                break;

            case DebugNodeStatus.Error:
                Status = DebugNodeStatus.Error;
                break;
            }
        }
Beispiel #2
0
        public override void OnRunning(float deltatime)
        {
            DebugNode runningNode = Children[RunningNodeIndex];

            runningNode.Update(deltatime);

            if (runningNode.Status == DebugNodeStatus.Error)
            {
                Status = DebugNodeStatus.Error;
                return;
            }

            if (runningNode.Status == DebugNodeStatus.Failed)
            {
                RunningNodeIndex++;
                if (RunningNodeIndex >= Childs.Count)
                {
                    Status = DebugNodeStatus.Failed;
                    return;
                }
            }
            else if (runningNode.Status == DebugNodeStatus.Success)
            {
                Status = DebugNodeStatus.Success;
            }
        }
Beispiel #3
0
        public override void OnRunning(float deltatime)
        {
            CurFrames++;
            DebugNode runningNode = Childs[RunningNodeIndex];

            //子节点跳过Transition状态
            if (runningNode.Status == DebugNodeStatus.None)
            {
                runningNode.Status = DebugNodeStatus.Transition;
                runningNode.TransitionElapsedTime = DebugManager.TransitionTime;
            }

            runningNode.Update(deltatime);

            if (runningNode.Status == DebugNodeStatus.Error)
            {
                Status = DebugNodeStatus.Error;
                return;
            }

            if (CurFrames >= Frames)
            {
                Status = DebugNodeStatus.Success;
                return;
            }

            if (runningNode.Status == DebugNodeStatus.Failed || runningNode.Status == DebugNodeStatus.Success)
            {
                SetChildState(DebugNodeStatus.Transition);
            }
        }
        public override void OnRunning(float deltatime)
        {
            DebugNode runningNode = RandList[RunningNodeIndex];

            runningNode.Update(deltatime);

            if (runningNode.Status == DebugNodeStatus.Success)
            {
                Status = DebugNodeStatus.Success;
            }
            else if (runningNode.Status == DebugNodeStatus.Failed)
            {
                Status = DebugNodeStatus.Failed;
                RunningNodeIndex++;
                //所有运行失败将返回失败
                if (RunningNodeIndex >= Children.Count)
                {
                    Status = DebugNodeStatus.Failed;
                }
            }
            else if (runningNode.Status == DebugNodeStatus.Error)
            {
                Status = DebugNodeStatus.Error;
            }
        }
        public override void OnRunning(float deltatime)
        {
            DebugNode runningNode = Childs[RunningNodeIndex];

            runningNode.Update(deltatime);

            if (runningNode.Status == DebugNodeStatus.Error)
            {
                Status = DebugNodeStatus.Error;
                return;
            }

            if (runningNode.Status == DebugNodeStatus.Failed || runningNode.Status == DebugNodeStatus.Success)
            {
                CurTimes++;
            }

            if (LoopTimes != -1 && CurTimes >= LoopTimes)
            {
                Status = DebugNodeStatus.Success;
                return;
            }

            if (runningNode.Status == DebugNodeStatus.Failed || runningNode.Status == DebugNodeStatus.Success)
            {
                SetChildState(DebugNodeStatus.None);
            }
        }
Beispiel #6
0
        public void Update(float deltatime)
        {
            if (State == DebugState.None)
            {
                return;
            }

            m_DebugNode.Update(deltatime);
        }
        public override void OnRunning(float deltatime)
        {
            DebugNode runningNode = Childs[RunningNodeIndex];

            runningNode.Update(deltatime);

            if (runningNode.Status != DebugNodeStatus.Transition)
            {
                Status = runningNode.Status;
            }
        }
Beispiel #8
0
        public override void OnRunning(float deltatime)
        {
            DebugNode runningNode = Childs[RunningNodeIndex];

            runningNode.Update(deltatime);

            if (runningNode.Status == DebugNodeStatus.Error)
            {
                Status = DebugNodeStatus.Error;
            }
            else if (runningNode.Status == DebugNodeStatus.Failed)
            {
                Status = DebugNodeStatus.Failed;
            }
            else if (runningNode.Status == DebugNodeStatus.Success)
            {
                Status = DebugNodeStatus.Failed;
            }
        }
Beispiel #9
0
        public override void OnRunning(float deltatime)
        {
            int failCount    = 0;
            int successCount = 0;

            for (int i = 0; i < Childs.Count; i++)
            {
                DebugNode childNode = Childs[i];
                childNode.Update(deltatime);

                if (childNode.Status == DebugNodeStatus.Failed)
                {
                    failCount++;

                    if (FailurePolicy == FAILURE_POLICY.FAIL_ON_ONE)
                    {
                        Status = DebugNodeStatus.Failed;
                        break;
                    }
                    else if (FailurePolicy == FAILURE_POLICY.FAIL_ON_ALL && failCount == Childs.Count)
                    {
                        Status = DebugNodeStatus.Failed;
                    }
                }
                else if (childNode.Status == DebugNodeStatus.Success)
                {
                    successCount++;

                    if (SuccessPolicy == SUCCESS_POLICY.SUCCEED_ON_ONE)
                    {
                        Status = DebugNodeStatus.Success;
                    }
                    else if (SuccessPolicy == SUCCESS_POLICY.SUCCEED_ON_ALL && successCount == Childs.Count)
                    {
                        Status = DebugNodeStatus.Success;
                    }
                }
                else if (childNode.Status == DebugNodeStatus.Error)
                {
                    Status = DebugNodeStatus.Error;
                }
            }
        }
        public override void OnRunning(float deltatime)
        {
            if (CurrentRunningIndex == 0)
            {
                ConditionNode.Update(deltatime);

                if (ConditionNode.Status == DebugNodeStatus.Error)
                {
                    Status = DebugNodeStatus.Error;
                    return;
                }
            }

            if (ConditionNode.Status == DebugNodeStatus.Success)
            {
                CurrentRunningIndex = 1;
            }
            else if (ConditionNode.Status == DebugNodeStatus.Failed)
            {
                CurrentRunningIndex = 2;
            }

            if (CurrentRunningIndex != 0)
            {
                DebugNode debugNode = Childs[CurrentRunningIndex];
                debugNode.Update(deltatime);

                if (debugNode.Status == DebugNodeStatus.Error)
                {
                    Status = DebugNodeStatus.Error;
                    return;
                }

                if (debugNode.Status >= DebugNodeStatus.Running)
                {
                    Status = debugNode.Status;
                }
            }
        }