/// <summary>
 /// 设置当前行为数,(原有行为数将被结束)
 /// </summary>
 /// <param name="tree"></param>
 public void ResetBehaviorTree(YuAIBehaviorTree tree)
 {
     if (m_behaviorTree != null)
     {
         var temp = m_behaviorTree;
         m_behaviorTree = null;
         temp.Release();
     }
     m_behaviorTree = tree;
 }
        protected override void OnRelease()
        {
            if (m_behaviorTree != null)
            {
                var temp = m_behaviorTree;
                m_behaviorTree = null;
                temp.Release();
            }

            EvnetModule.RemoveUnityEvent(
                UnityEventType.Update, OnFixedUpdate);
        }
        private void OnFixedUpdate()
        {
            updateCount++;
            if (updateCount < currentFrameCount)
            {
                return;
            }
            updateCount = 0;

            if (m_behaviorTree != null)
            {
                if (m_behaviorTree.Tick() != AIBehaviorState.Running)
                {
                    var temp = m_behaviorTree;
                    m_behaviorTree = null;
                    temp.Release();
                }
            }
        }
 public bool CheckBehaviorTreeMatch(YuAIBehaviorTree tree)
 {
     return(m_behaviorTree == tree);
 }
 /// <summary>
 /// 判断是否正在执行此条行为树
 /// </summary>
 /// <param name="tree"></param>
 /// <returns></returns>
 public bool CheckIsExecuteTree(YuAIBehaviorTree tree)
 {
     return(m_behaviorTree == tree);
 }