Interrupter — это специальная нода для behaviour trees и макросов в EyeAuras, которая помогает "прерывать" долгие действия при наступлении определённых условий.
У Interrupter всегда два дочерних элемента (два "ребёнка"):
- Условие (Condition) — что-то, что можно проверить (например, здоровье персонажа ниже 20%).
- Действие (Action) — какая-то задача, которую нужно выполнить (например, подождать несколько секунд или использовать способность).
- Пока выполняется Action, Interrupter всё время следит за Condition.
- Если Condition становится
true (то есть выполняется) в любой момент, пока работает Action:
- Interrupter немедленно останавливает выполнение Action.
- Возвращает статус
Failure.
- Если Condition не становится
true до завершения Action:
- Interrupter возвращает результат работы этого Action (
Success, Failure или Running).
Interrupter
├── Condition: Мана стала меньше 10%
└── Action: Кастовать заклинание Медитация
- Пока персонаж медитирует, Interrupter следит за маной.
- Если мана вдруг падает ниже 10%, Meditate будет прерван, и Interrupter вернёт
Failure.
- Если мана выше 10%, и действие (Meditate) завершилось, Interrupter просто вернёт тот же результат (
Success, если всё прошло хорошо, или Failure, если действию не удалось выполниться по другой причине).
- Хотите отменять длинные действия, если что-то случилось.
- Необходимо срочно реагировать на изменения условий во время запущенного действия (например, прерывать восстановление при появлении врага или понижении параметров).