Rework Node::get_node to omit is_absolute() check in best case scenario

This commit is contained in:
Bartłomiej T. Listwon 2022-01-19 11:33:27 +01:00
parent f8b8d0d4b8
commit e2792cc71c
1 changed files with 8 additions and 6 deletions

View File

@ -1316,12 +1316,14 @@ Node *Node::get_node_or_null(const NodePath &p_path) const {
Node *Node::get_node(const NodePath &p_path) const {
Node *node = get_node_or_null(p_path);
if (p_path.is_absolute()) {
ERR_FAIL_COND_V_MSG(!node, nullptr,
vformat(R"(Node not found: "%s" (absolute path attempted from "%s").)", p_path, get_path()));
} else {
ERR_FAIL_COND_V_MSG(!node, nullptr,
vformat(R"(Node not found: "%s" (relative to "%s").)", p_path, get_path()));
if (unlikely(!node)) {
if (p_path.is_absolute()) {
ERR_FAIL_V_MSG(nullptr,
vformat(R"(Node not found: "%s" (absolute path attempted from "%s").)", p_path, get_path()));
} else {
ERR_FAIL_V_MSG(nullptr,
vformat(R"(Node not found: "%s" (relative to "%s").)", p_path, get_path()));
}
}
return node;