Узлы

Что это такое, как они работают и что нужно подготовить

Дерево поведения полностью состоит из нод (узлов). Каждая нода выполняет какое-то действие: нажимает кнопки, проверяет условия и так далее.

Статусы выполнения

Все ноды по результату выполнения возвращают один из статусов:

  • Success — действие успешно выполнено: кнопка нажата, изображение найдено и т. п.
  • Failure — произошло обратное: выполнить действие не удалось или условие не выполнено.
  • Running — нода уже начала работу, но ещё не завершила её. Это происходит, когда действие занимает больше одного тика. Обычно в таком случае всё дерево ждёт, пока нода не закончит работу и не вернёт Success или Failure. Классический пример — нода Wait, которая просто задерживает выполнение дерева на указанное время.

Типы нод

  • Root — корень всего дерева, содержит общие настройки.
  • Sequence — перебирает дочерние ноды, пока не встретит ту, которая вернёт Failure.
  • Selector — перебирает дочерние ноды, пока не встретит ту, которая вернёт Success.
  • Aura Is Active — позволяет указать одну или несколько аур, которые будут использоваться как условия для ноды.
  • Execute Aura — задаёт ауру, действия которой будут выполнены при запуске ноды.
  • Key Press — нажимает клавишу или сочетание клавиш.
  • Wait — приостанавливает выполнение дерева на указанное время.
  • Cooldown — не позволяет конкретной ноде выполняться слишком часто.
  • Inverter — инвертирует статус дочерней ноды (Success => Failure и наоборот).
  • Force Failure — выполняет дочернюю ноду, но всегда возвращает Failure.
  • Force Success — выполняет дочернюю ноду, но всегда возвращает Success.
  • Until Success — выполняет дочернюю ноду до тех пор, пока она не вернёт Success.
  • Fixed Status — вспомогательная нода, позволяющая задать фиксированный статус, который она будет возвращать; полезно для отладки и настройки.
  • Comment — позволяет оставлять комментарии к логике прямо в дереве.