#include "behaviour_node.h" #include "behaviour_nodes/behaviour_tree.h" #include "core/config/engine.h" void BehaviourNode::_bind_methods() { BIND_ENUM_CONSTANT(Fail); BIND_ENUM_CONSTANT(Running); BIND_ENUM_CONSTANT(Success); } void BehaviourNode::_notification(int what) { if (Engine::get_singleton()->is_editor_hint()) { return; } switch (what) { default: return; case NOTIFICATION_ENTER_TREE: Node *parent{ get_parent() }; this->parent = cast_to(parent); while (this->behaviour_tree == nullptr && parent != nullptr) { if ((this->behaviour_tree = cast_to(parent))) { break; } parent = parent->get_parent(); } return; } }