示例#1
0
        public void Update(float deltatime)
        {
            if (Status == DebugNodeStatus.Error)
            {
                return;
            }

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

            if (Status == DebugNodeStatus.None)
            {
                TransitionElapsedTime = 0;
                TransitionPoints.Clear();
                Status = DebugNodeStatus.Transition;
            }
            else if (Status == DebugNodeStatus.Transition)
            {
                TransitionElapsedTime += deltatime;
                if (TransitionElapsedTime >= DebugManager.TransitionTime)
                {
                    Enter();
                }
            }
            else if (Status != DebugNodeStatus.Error && Status == DebugNodeStatus.Running)
            {
                Running(deltatime);
            }
        }
示例#2
0
 public void SetChildState(DebugNodeStatus status)
 {
     if (Childs.Count > 0)
     {
         for (int i = 0; i < Childs.Count; i++)
         {
             Childs[i].SetState(status);
         }
     }
 }
示例#3
0
 private void Enter()
 {
     RunningElapsedTime = 0;
     RunningNodeIndex   = 0;
     RunningAlpha       = 0;
     SuccessAlpha       = 0;
     OnEnter();
     if (Status == DebugNodeStatus.Error || Status == DebugNodeStatus.Success || Status == DebugNodeStatus.Failed)
     {
         return;
     }
     Status = DebugNodeStatus.Running;
 }
示例#4
0
 public void SetState(DebugNodeStatus status)
 {
     this.Status = status;
     SetChildState(status);
 }