Struct Node
#[repr(C)]pub struct Node { /* private fields */ }
Expand description
Godot class Node.
Inherits Object
.
Related symbols:
node
: sidecar module with related enum/flag typesINode
: virtual methodsNodeNotification
: notification type
See also Godot docs for Node
.
§Construction
This class is manually managed. You can create a new instance using Node::new_alloc()
.
Do not forget to call free()
or hand over ownership to Godot.
Implementations§
§impl Node
Manual extensions for the Node
class.
impl Node
Manual extensions for the Node
class.
pub fn get_node_as<T>(&self, path: impl AsArg<NodePath>) -> Gd<T>
pub fn get_node_as<T>(&self, path: impl AsArg<NodePath>) -> Gd<T>
⚠️ Retrieves the node at path path
, panicking if not found or bad type.
§Panics
If the node is not found, or if it does not have type T
or inherited.
§impl Node
impl Node
pub fn print_orphan_nodes()
pub fn add_sibling(&mut self, sibling: impl AsObjectArg<Node>)
pub fn add_sibling(&mut self, sibling: impl AsObjectArg<Node>)
To set the default parameters, use Self::add_sibling_ex
and its builder methods. See the book for detailed usage instructions.
pub fn add_sibling_ex<'a>( &'a mut self, sibling: impl AsObjectArg<Node>, ) -> ExAddSibling<'a>
pub fn set_name(&mut self, name: impl AsArg<GString>)
pub fn get_name(&self) -> StringName
pub fn add_child(&mut self, node: impl AsObjectArg<Node>)
pub fn add_child(&mut self, node: impl AsObjectArg<Node>)
To set the default parameters, use Self::add_child_ex
and its builder methods. See the book for detailed usage instructions.
pub fn add_child_ex<'a>( &'a mut self, node: impl AsObjectArg<Node>, ) -> ExAddChild<'a>
pub fn remove_child(&mut self, node: impl AsObjectArg<Node>)
pub fn reparent(&mut self, new_parent: impl AsObjectArg<Node>)
pub fn reparent(&mut self, new_parent: impl AsObjectArg<Node>)
To set the default parameters, use Self::reparent_ex
and its builder methods. See the book for detailed usage instructions.
pub fn reparent_ex<'a>( &'a mut self, new_parent: impl AsObjectArg<Node>, ) -> ExReparent<'a>
pub fn get_child_count(&self) -> i32
pub fn get_child_count(&self) -> i32
To set the default parameters, use Self::get_child_count_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_child_count_ex<'a>(&'a self) -> ExGetChildCount<'a>
pub fn get_children(&self) -> Array<Gd<Node>>
pub fn get_children(&self) -> Array<Gd<Node>>
To set the default parameters, use Self::get_children_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_children_ex<'a>(&'a self) -> ExGetChildren<'a>
pub fn get_child(&self, idx: i32) -> Option<Gd<Node>>
pub fn get_child(&self, idx: i32) -> Option<Gd<Node>>
To set the default parameters, use Self::get_child_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_child_ex<'a>(&'a self, idx: i32) -> ExGetChild<'a>
pub fn has_node(&self, path: impl AsArg<NodePath>) -> bool
pub fn get_node_or_null(&self, path: impl AsArg<NodePath>) -> Option<Gd<Node>>
pub fn get_parent(&self) -> Option<Gd<Node>>
pub fn find_child(&self, pattern: impl AsArg<GString>) -> Option<Gd<Node>>
pub fn find_child(&self, pattern: impl AsArg<GString>) -> Option<Gd<Node>>
To set the default parameters, use Self::find_child_ex
and its builder methods. See the book for detailed usage instructions.
pub fn find_child_ex<'a>( &'a self, pattern: impl AsArg<GString> + 'a, ) -> ExFindChild<'a>
pub fn find_children(&self, pattern: impl AsArg<GString>) -> Array<Gd<Node>>
pub fn find_children(&self, pattern: impl AsArg<GString>) -> Array<Gd<Node>>
To set the default parameters, use Self::find_children_ex
and its builder methods. See the book for detailed usage instructions.
pub fn find_children_ex<'a>( &'a self, pattern: impl AsArg<GString> + 'a, ) -> ExFindChildren<'a>
pub fn find_parent(&self, pattern: impl AsArg<GString>) -> Option<Gd<Node>>
pub fn has_node_and_resource(&self, path: impl AsArg<NodePath>) -> bool
pub fn get_node_and_resource( &mut self, path: impl AsArg<NodePath>, ) -> Array<Variant>
pub fn is_inside_tree(&self) -> bool
pub fn is_part_of_edited_scene(&self) -> bool
pub fn is_ancestor_of(&self, node: impl AsObjectArg<Node>) -> bool
pub fn is_greater_than(&self, node: impl AsObjectArg<Node>) -> bool
pub fn get_path(&self) -> NodePath
pub fn get_path_to(&self, node: impl AsObjectArg<Node>) -> NodePath
pub fn get_path_to(&self, node: impl AsObjectArg<Node>) -> NodePath
To set the default parameters, use Self::get_path_to_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_path_to_ex<'a>( &'a self, node: impl AsObjectArg<Node>, ) -> ExGetPathTo<'a>
pub fn add_to_group(&mut self, group: impl AsArg<StringName>)
pub fn add_to_group(&mut self, group: impl AsArg<StringName>)
To set the default parameters, use Self::add_to_group_ex
and its builder methods. See the book for detailed usage instructions.
pub fn add_to_group_ex<'a>( &'a mut self, group: impl AsArg<StringName> + 'a, ) -> ExAddToGroup<'a>
pub fn remove_from_group(&mut self, group: impl AsArg<StringName>)
pub fn is_in_group(&self, group: impl AsArg<StringName>) -> bool
pub fn move_child(&mut self, child_node: impl AsObjectArg<Node>, to_index: i32)
pub fn get_groups(&self) -> Array<StringName>
pub fn set_owner(&mut self, owner: impl AsObjectArg<Node>)
pub fn get_owner(&self) -> Option<Gd<Node>>
pub fn get_index(&self) -> i32
pub fn get_index(&self) -> i32
To set the default parameters, use Self::get_index_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_index_ex<'a>(&'a self) -> ExGetIndex<'a>
pub fn print_tree(&mut self)
pub fn print_tree_pretty(&mut self)
pub fn get_tree_string(&mut self) -> GString
pub fn get_tree_string_pretty(&mut self) -> GString
pub fn set_scene_file_path(&mut self, scene_file_path: impl AsArg<GString>)
pub fn get_scene_file_path(&self) -> GString
pub fn propagate_notification(&mut self, what: i32)
pub fn propagate_call(&mut self, method: impl AsArg<StringName>)
pub fn propagate_call(&mut self, method: impl AsArg<StringName>)
To set the default parameters, use Self::propagate_call_ex
and its builder methods. See the book for detailed usage instructions.
pub fn propagate_call_ex<'a>( &'a mut self, method: impl AsArg<StringName> + 'a, ) -> ExPropagateCall<'a>
pub fn set_physics_process(&mut self, enable: bool)
pub fn get_physics_process_delta_time(&self) -> f64
pub fn is_physics_processing(&self) -> bool
pub fn get_process_delta_time(&self) -> f64
pub fn set_process(&mut self, enable: bool)
pub fn set_process_priority(&mut self, priority: i32)
pub fn get_process_priority(&self) -> i32
pub fn set_physics_process_priority(&mut self, priority: i32)
pub fn get_physics_process_priority(&self) -> i32
pub fn is_processing(&self) -> bool
pub fn set_process_input(&mut self, enable: bool)
pub fn is_processing_input(&self) -> bool
pub fn set_process_shortcut_input(&mut self, enable: bool)
pub fn is_processing_shortcut_input(&self) -> bool
pub fn set_process_unhandled_input(&mut self, enable: bool)
pub fn is_processing_unhandled_input(&self) -> bool
pub fn set_process_unhandled_key_input(&mut self, enable: bool)
pub fn is_processing_unhandled_key_input(&self) -> bool
pub fn set_process_mode(&mut self, mode: ProcessMode)
pub fn get_process_mode(&self) -> ProcessMode
pub fn can_process(&self) -> bool
pub fn set_process_thread_group(&mut self, mode: ProcessThreadGroup)
pub fn get_process_thread_group(&self) -> ProcessThreadGroup
pub fn set_process_thread_messages(&mut self, flags: ProcessThreadMessages)
pub fn get_process_thread_messages(&self) -> ProcessThreadMessages
pub fn set_process_thread_group_order(&mut self, order: i32)
pub fn get_process_thread_group_order(&self) -> i32
pub fn set_display_folded(&mut self, fold: bool)
pub fn is_displayed_folded(&self) -> bool
pub fn set_process_internal(&mut self, enable: bool)
pub fn is_processing_internal(&self) -> bool
pub fn set_physics_process_internal(&mut self, enable: bool)
pub fn is_physics_processing_internal(&self) -> bool
pub fn set_physics_interpolation_mode(&mut self, mode: PhysicsInterpolationMode)
pub fn get_physics_interpolation_mode(&self) -> PhysicsInterpolationMode
pub fn is_physics_interpolated(&self) -> bool
pub fn is_physics_interpolated_and_enabled(&self) -> bool
pub fn reset_physics_interpolation(&mut self)
pub fn set_auto_translate_mode(&mut self, mode: AutoTranslateMode)
pub fn get_auto_translate_mode(&self) -> AutoTranslateMode
pub fn get_window(&self) -> Option<Gd<Window>>
pub fn get_last_exclusive_window(&self) -> Option<Gd<Window>>
pub fn get_tree(&self) -> Option<Gd<SceneTree>>
pub fn create_tween(&mut self) -> Option<Gd<Tween>>
pub fn duplicate(&self) -> Option<Gd<Node>>
pub fn duplicate(&self) -> Option<Gd<Node>>
To set the default parameters, use Self::duplicate_ex
and its builder methods. See the book for detailed usage instructions.
pub fn duplicate_ex<'a>(&'a self) -> ExDuplicate<'a>
pub fn replace_by(&mut self, node: impl AsObjectArg<Node>)
pub fn replace_by(&mut self, node: impl AsObjectArg<Node>)
To set the default parameters, use Self::replace_by_ex
and its builder methods. See the book for detailed usage instructions.
pub fn replace_by_ex<'a>( &'a mut self, node: impl AsObjectArg<Node>, ) -> ExReplaceBy<'a>
pub fn set_scene_instance_load_placeholder(&mut self, load_placeholder: bool)
pub fn get_scene_instance_load_placeholder(&self) -> bool
pub fn set_editable_instance( &mut self, node: impl AsObjectArg<Node>, is_editable: bool, )
pub fn is_editable_instance(&self, node: impl AsObjectArg<Node>) -> bool
pub fn get_viewport(&self) -> Option<Gd<Viewport>>
pub fn queue_free(&mut self)
pub fn request_ready(&mut self)
pub fn is_node_ready(&self) -> bool
To set the default parameters, use Self::set_multiplayer_authority_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_multiplayer(&self) -> Option<Gd<MultiplayerApi>>
pub fn rpc_config(&mut self, method: impl AsArg<StringName>, config: &Variant)
pub fn set_editor_description( &mut self, editor_description: impl AsArg<GString>, )
pub fn get_editor_description(&self) -> GString
pub fn set_unique_name_in_owner(&mut self, enable: bool)
pub fn is_unique_name_in_owner(&self) -> bool
pub fn atr(&self, message: impl AsArg<GString>) -> GString
pub fn atr(&self, message: impl AsArg<GString>) -> GString
To set the default parameters, use Self::atr_ex
and its builder methods. See the book for detailed usage instructions.
pub fn atr_ex<'a>(&'a self, message: impl AsArg<GString> + 'a) -> ExAtr<'a>
pub fn atr_n(
&self,
message: impl AsArg<GString>,
plural_message: impl AsArg<StringName>,
n: i32,
) -> GString
pub fn atr_n( &self, message: impl AsArg<GString>, plural_message: impl AsArg<StringName>, n: i32, ) -> GString
To set the default parameters, use Self::atr_n_ex
and its builder methods. See the book for detailed usage instructions.
pub fn atr_n_ex<'a>( &'a self, message: impl AsArg<GString> + 'a, plural_message: impl AsArg<StringName> + 'a, n: i32, ) -> ExAtrN<'a>
pub fn rpc(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Error
pub fn rpc( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Error
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_rpc(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Error, CallError>
pub fn try_rpc( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Error, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn rpc_id(
&mut self,
peer_id: i64,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Error
pub fn rpc_id( &mut self, peer_id: i64, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Error
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_rpc_id(
&mut self,
peer_id: i64,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Error, CallError>
pub fn try_rpc_id( &mut self, peer_id: i64, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Error, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn update_configuration_warnings(&mut self)
pub fn call_deferred_thread_group(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call_deferred_thread_group( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call_deferred_thread_group(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call_deferred_thread_group( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn set_deferred_thread_group( &mut self, property: impl AsArg<StringName>, value: &Variant, )
pub fn notify_deferred_thread_group(&mut self, what: i32)
pub fn call_thread_safe(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call_thread_safe( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call_thread_safe(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call_thread_safe( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn set_thread_safe( &mut self, property: impl AsArg<StringName>, value: &Variant, )
pub fn notify_thread_safe(&mut self, what: i32)
pub fn notify(&mut self, what: NodeNotification)
pub fn notify(&mut self, what: NodeNotification)
⚠️ Sends a Godot notification to all classes inherited by the object.
Triggers calls to on_notification()
, and depending on the notification, also to Godot’s lifecycle callbacks such as ready()
.
Starts from the highest ancestor (the Object
class) and goes down the hierarchy.
See also Godot docs for Object::notification()
.
§Panics
If you call this method on a user-defined object while holding a GdRef
or GdMut
guard on the instance, you will encounter
a panic. The reason is that the receiving virtual method on_notification()
acquires a GdMut
lock dynamically, which must
be exclusive.
pub fn notify_reversed(&mut self, what: NodeNotification)
pub fn notify_reversed(&mut self, what: NodeNotification)
⚠️ Like Self::notify()
, but starts at the most-derived class and goes up the hierarchy.
See docs of that method, including the panics.
Methods from Deref<Target = Object>§
pub fn get_class(&self) -> GString
pub fn is_class(&self, class: impl AsArg<GString>) -> bool
pub fn set(&mut self, property: impl AsArg<StringName>, value: &Variant)
pub fn get(&self, property: impl AsArg<StringName>) -> Variant
pub fn set_indexed( &mut self, property_path: impl AsArg<NodePath>, value: &Variant, )
pub fn get_indexed(&self, property_path: impl AsArg<NodePath>) -> Variant
pub fn get_property_list(&self) -> Array<Dictionary>
pub fn get_method_list(&self) -> Array<Dictionary>
pub fn property_can_revert(&self, property: impl AsArg<StringName>) -> bool
pub fn property_get_revert(&self, property: impl AsArg<StringName>) -> Variant
pub fn set_script(&mut self, script: &Variant)
pub fn get_script(&self) -> Variant
pub fn set_meta(&mut self, name: impl AsArg<StringName>, value: &Variant)
pub fn remove_meta(&mut self, name: impl AsArg<StringName>)
pub fn get_meta(&self, name: impl AsArg<StringName>) -> Variant
pub fn get_meta(&self, name: impl AsArg<StringName>) -> Variant
To set the default parameters, use Self::get_meta_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_meta_ex<'a>( &'a self, name: impl AsArg<StringName> + 'a, ) -> ExGetMeta<'a>
pub fn has_meta(&self, name: impl AsArg<StringName>) -> bool
pub fn get_meta_list(&self) -> Array<StringName>
pub fn add_user_signal(&mut self, signal: impl AsArg<GString>)
pub fn add_user_signal(&mut self, signal: impl AsArg<GString>)
To set the default parameters, use Self::add_user_signal_ex
and its builder methods. See the book for detailed usage instructions.
pub fn add_user_signal_ex<'a>( &'a mut self, signal: impl AsArg<GString> + 'a, ) -> ExAddUserSignal<'a>
pub fn has_user_signal(&self, signal: impl AsArg<StringName>) -> bool
pub fn remove_user_signal(&mut self, signal: impl AsArg<StringName>)
pub fn emit_signal(
&mut self,
signal: impl AsArg<StringName>,
varargs: &[Variant],
) -> Error
pub fn emit_signal( &mut self, signal: impl AsArg<StringName>, varargs: &[Variant], ) -> Error
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_emit_signal(
&mut self,
signal: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Error, CallError>
pub fn try_emit_signal( &mut self, signal: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Error, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call_deferred(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call_deferred( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call_deferred(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call_deferred( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn set_deferred( &mut self, property: impl AsArg<StringName>, value: &Variant, )
pub fn callv( &mut self, method: impl AsArg<StringName>, arg_array: &Array<Variant>, ) -> Variant
pub fn has_method(&self, method: impl AsArg<StringName>) -> bool
pub fn get_method_argument_count(&self, method: impl AsArg<StringName>) -> i32
pub fn has_signal(&self, signal: impl AsArg<StringName>) -> bool
pub fn get_signal_list(&self) -> Array<Dictionary>
pub fn get_signal_connection_list( &self, signal: impl AsArg<StringName>, ) -> Array<Dictionary>
pub fn get_incoming_connections(&self) -> Array<Dictionary>
pub fn connect(
&mut self,
signal: impl AsArg<StringName>,
callable: &Callable,
) -> Error
pub fn connect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, ) -> Error
To set the default parameters, use Self::connect_ex
and its builder methods. See the book for detailed usage instructions.
pub fn connect_ex<'a>( &'a mut self, signal: impl AsArg<StringName> + 'a, callable: &'a Callable, ) -> ExConnect<'a>
pub fn disconnect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, )
pub fn is_connected( &self, signal: impl AsArg<StringName>, callable: &Callable, ) -> bool
pub fn set_block_signals(&mut self, enable: bool)
pub fn is_blocking_signals(&self) -> bool
pub fn notify_property_list_changed(&mut self)
pub fn set_message_translation(&mut self, enable: bool)
pub fn can_translate_messages(&self) -> bool
pub fn tr(&self, message: impl AsArg<StringName>) -> GString
pub fn tr(&self, message: impl AsArg<StringName>) -> GString
To set the default parameters, use Self::tr_ex
and its builder methods. See the book for detailed usage instructions.
pub fn tr_ex<'a>(&'a self, message: impl AsArg<StringName> + 'a) -> ExTr<'a>
pub fn tr_n(
&self,
message: impl AsArg<StringName>,
plural_message: impl AsArg<StringName>,
n: i32,
) -> GString
pub fn tr_n( &self, message: impl AsArg<StringName>, plural_message: impl AsArg<StringName>, n: i32, ) -> GString
To set the default parameters, use Self::tr_n_ex
and its builder methods. See the book for detailed usage instructions.
pub fn tr_n_ex<'a>( &'a self, message: impl AsArg<StringName> + 'a, plural_message: impl AsArg<StringName> + 'a, n: i32, ) -> ExTrN<'a>
pub fn is_queued_for_deletion(&self) -> bool
pub fn cancel_free(&mut self)
pub fn notify(&mut self, what: ObjectNotification)
pub fn notify(&mut self, what: ObjectNotification)
⚠️ Sends a Godot notification to all classes inherited by the object.
Triggers calls to on_notification()
, and depending on the notification, also to Godot’s lifecycle callbacks such as ready()
.
Starts from the highest ancestor (the Object
class) and goes down the hierarchy.
See also Godot docs for Object::notification()
.
§Panics
If you call this method on a user-defined object while holding a GdRef
or GdMut
guard on the instance, you will encounter
a panic. The reason is that the receiving virtual method on_notification()
acquires a GdMut
lock dynamically, which must
be exclusive.
pub fn notify_reversed(&mut self, what: ObjectNotification)
pub fn notify_reversed(&mut self, what: ObjectNotification)
⚠️ Like Self::notify()
, but starts at the most-derived class and goes up the hierarchy.
See docs of that method, including the panics.