From 78dc608aa891e5076f710bbdb530adbc851832ec Mon Sep 17 00:00:00 2001 From: diddykonga Date: Fri, 17 Dec 2021 12:04:35 -0600 Subject: Change 'find_node' to 'find_nodes' and Add 'type' parameter Changed 'find_node' to 'find_nodes' which now returns an 'TypedArray', as well as Added a 'type' parameter to match against specific node types, which supports inheritance. --- doc/classes/Node.xml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'doc/classes') diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index 5ae50f86d4..aa3de1382f 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -181,16 +181,19 @@ [b]Note:[/b] It will not work properly if the node contains a script with constructor arguments (i.e. needs to supply arguments to [method Object._init] method). In that case, the node will be duplicated without a script. - - + + - - + + + - Finds a descendant of this node whose name matches [code]mask[/code] as in [method String.match] (i.e. case-sensitive, but [code]"*"[/code] matches zero or more characters and [code]"?"[/code] matches any single character except [code]"."[/code]). Returns [code]null[/code] if no matching [Node] is found. - [b]Note:[/b] It does not match against the full path, just against individual node names. + Finds descendants of this node whose, name matches [code]mask[/code] as in [method String.match], and/or type matches [code]type[/code] as in [method Object.is_class]. + [code]mask[/code] does not match against the full path, just against individual node names. It is case-sensitive, with [code]"*"[/code] matching zero or more characters and [code]"?"[/code] matching any single character except [code]"."[/code]). + [code]type[/code] will check equality or inheritance. It is case-sensitive, [code]"Object"[/code] will match a node whose type is [code]"Node"[/code] but not the other way around. If [code]owned[/code] is [code]true[/code], this method only finds nodes whose owner is this node. This is especially important for scenes instantiated through a script, because those scenes don't have an owner. - [b]Note:[/b] As this method walks through all the descendants of the node, it is the slowest way to get a reference to another node. Whenever possible, consider using [method get_node] instead. To avoid using [method find_node] too often, consider caching the node reference into a variable. + Returns an empty array, if no matching nodes are found. + [b]Note:[/b] As this method walks through all the descendants of the node, it is the slowest way to get references to other nodes. To avoid using [method find_nodes] too often, consider caching the node references into variables. -- cgit v1.2.3