#include "behaviour_composite.h" #include "core/variant/typed_array.h" void BehaviourComposite::_bind_methods() {} void BehaviourComposite::child_order_changed() { this->child_behaviours.clear(); for (Variant var : get_children()) { if (BehaviourNode * node{ cast_to(var) }) { this->child_behaviours.push_back(node); } } } void BehaviourComposite::_notification(int what) { switch (what) { default: return; case NOTIFICATION_READY: child_order_changed(); set_leaf(get_child_behaviours().is_empty()); return; case NOTIFICATION_CHILD_ORDER_CHANGED: if (is_ready()) { child_order_changed(); } return; } }