Bevy_behave行为树

行为树是AI的一种,适合npc或敌人的简单智能。

这个库非常棒,实现简单高效,符合作者宣传的简单API.

下面都属于枚举,每个枚举值都是一个一条处理分支。

enum Behave {
  // 结果处理
  AlwaysSucceed, // 总为真
  AlwaysFail,    // 总为假
  Invert,        // 反转结果

  // 生成结果
  Wait(f32),     // 等待多长时间
  DynamicEntity {// 生成子实体
      name: Cow<'static, str>,
      dynamic_bundel: DynamicBundel,
  },
  TriggerReq(DynamicTrigger), // 触发事件,ob

  // 顺序
  Sequence,      // 子序列顺序执行,任意子序列失败则Sequence失败,全成功则成功,失败就返回
  Fallback,      // 子序列顺序执行,任意子序列成功则Fallback成功,成功就返回。

  // 条件
  Forever,       // 无限循环
  While,         // 第一子序列成功后,执行第二子序列,第二子序列可选
  IfThen,        // 第一子序列成功后,执行第二子序列; 否则执行第三子序列,第三子序列可选
}