Behavior Designer文档-6(任务)

    行为树是一组任务的集合。任务拥有和unity MonoBehaviour 相似的API,所以他很容易的让你创建一个任务(创建任务将在后面章节详细讲解)。任务类有如下API:

// OnAwake is called once when the behavior tree is enabled. Think of it as a constructor
public virtual void OnAwake();

// OnStart is called immediately before execution. It is used to setup any variables that need to be reset from the previous run
public virtual void OnStart();

// OnUpdate runs the actual task
public virtual TaskStatus OnUpdate();

// OnEnd is called after execution on a success or failure. 
public virtual void OnEnd();

// OnPause is called when the behavior is paused and resumed
public virtual void OnPause(bool paused);

// The priority select will need to know this tasks priority of running
public virtual float GetPriority();

// OnBehaviorComplete is called after the behavior tree finishes executing
public virtual void OnBehaviorComplete();

// OnReset is called by the inspector to reset the public properties
public virtual void OnReset();

// Allow OnDrawGizmos to be called from the tasks
public virtual void OnDrawGizmos();

// Keep a reference to the behavior that owns this task
public Behavior Owner;

      任务有三个共有的属性:名称,注释,瞬时状态。瞬时状态是三个属性中一个不太容易理解的属性。在一个相同的循环周期中,一个任务返回成功或者失败后,任务将立刻运行下一个任务,先前的任务将处于等待状态。这种模式有利于减少行为树性能消耗。

     下图显示了任务运行的流程:


你可能感兴趣的:(Behavior Designer文档-6(任务))