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