diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-09-01 12:35:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-01 12:35:55 +0200 |
commit | 877246a78e4316d8458456c1c34e1afa8619659b (patch) | |
tree | ae69d70593eec478a5e67f529b90ba598f02c1a4 | |
parent | 0afabf6cb754da5ad95ccaf3ae1576f4d00a7b14 (diff) | |
parent | bdf614d3d75551164fdd1eed7fb5539cafa30330 (diff) |
Merge pull request #41505 from SekoiaTree/neg-get-child
Made get_child support negative indexes
-rw-r--r-- | doc/classes/Node.xml | 1 | ||||
-rw-r--r-- | scene/main/node.cpp | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index eeb8dc072c..b342fc0813 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -215,6 +215,7 @@ </argument> <description> Returns a child node by its index (see [method get_child_count]). This method is often used for iterating all children of a node. + Negative indices access the children from the last one. To access a child node via its name, use [method get_node]. </description> </method> diff --git a/scene/main/node.cpp b/scene/main/node.cpp index 653eb698d4..6b304c03d2 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -1327,6 +1327,9 @@ int Node::get_child_count() const { } Node *Node::get_child(int p_index) const { + if (p_index < 0) { + p_index += data.children.size(); + } ERR_FAIL_INDEX_V(p_index, data.children.size(), nullptr); return data.children[p_index]; |