parent
3bfffcc568
commit
8ecbb6a20d
@ -2487,7 +2487,7 @@ bool Node::has_node_and_resource(const NodePath &p_path) const {
|
|||||||
Vector<StringName> leftover_path;
|
Vector<StringName> leftover_path;
|
||||||
Node *node = get_node_and_resource(p_path, res, leftover_path, false);
|
Node *node = get_node_and_resource(p_path, res, leftover_path, false);
|
||||||
|
|
||||||
return (node && res.is_valid());
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
Array Node::_get_node_and_resource(const NodePath &p_path) {
|
Array Node::_get_node_and_resource(const NodePath &p_path) {
|
||||||
@ -2525,9 +2525,15 @@ Node *Node::get_node_and_resource(const NodePath &p_path, RES &r_res, Vector<Str
|
|||||||
int j = 0;
|
int j = 0;
|
||||||
// If not p_last_is_property, we shouldn't consider the last one as part of the resource
|
// If not p_last_is_property, we shouldn't consider the last one as part of the resource
|
||||||
for (; j < p_path.get_subname_count() - (int)p_last_is_property; j++) {
|
for (; j < p_path.get_subname_count() - (int)p_last_is_property; j++) {
|
||||||
RES new_res = j == 0 ? node->get(p_path.get_subname(j)) : r_res->get(p_path.get_subname(j));
|
Variant new_res_v = j == 0 ? node->get(p_path.get_subname(j)) : r_res->get(p_path.get_subname(j));
|
||||||
|
|
||||||
if (new_res.is_null()) {
|
if (new_res_v.get_type() == Variant::NIL) { // Found nothing on that path
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
RES new_res = new_res_v;
|
||||||
|
|
||||||
|
if (new_res.is_null()) { // No longer a resource, assume property
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user