Ejemplo n.º 1
0
 public virtual void OnUpdate()
 {
     if (!m_bRunning)
     {
         return;
     }
     if (m_dataBase.GetData <bool>(m_reset))
     {
         Reset();
         m_dataBase.SetData <bool>(m_reset, false);
     }
     if (m_root.Evaluate())
     {
         m_root.Tick();
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 评估当前节点,如果没有就取第一个
 /// </summary>
 public override bool DoEvaluate()
 {
     if (m_curActiveChild != null)
     {
         // 评估不通过,清除当前节点
         bool result = m_curActiveChild.Evaluate();
         if (!result)
         {
             m_curActiveChild.Clear();
             m_curActiveChild = null;
             m_curActiveIndex = -1;
         }
         return(result);
     }
     else
     {
         return(m_children[0].Evaluate());
     }
 }