Struct SceneTree
#[repr(C)]pub struct SceneTree { /* private fields */ }
Expand description
Godot class SceneTree.
Inherits MainLoop
.
Related symbols:
scene_tree
: sidecar module with related enum/flag typesISceneTree
: virtual methods
See also Godot docs for SceneTree
.
§Construction
This class is manually managed. You can create a new instance using SceneTree::new_alloc()
.
Do not forget to call free()
or hand over ownership to Godot.
Implementations§
§impl SceneTree
impl SceneTree
pub fn get_root(&self) -> Option<Gd<Window>>
pub fn has_group(&self, name: StringName) -> bool
pub fn is_auto_accept_quit(&self) -> bool
pub fn set_auto_accept_quit(&mut self, enabled: bool)
pub fn is_quit_on_go_back(&self) -> bool
pub fn set_quit_on_go_back(&mut self, enabled: bool)
pub fn set_debug_collisions_hint(&mut self, enable: bool)
pub fn is_debugging_collisions_hint(&self) -> bool
pub fn set_debug_paths_hint(&mut self, enable: bool)
pub fn is_debugging_paths_hint(&self) -> bool
pub fn set_edited_scene_root(&mut self, scene: impl AsObjectArg<Node>)
pub fn get_edited_scene_root(&self) -> Option<Gd<Node>>
pub fn set_pause(&mut self, enable: bool)
pub fn is_paused(&self) -> bool
pub fn create_timer(&mut self, time_sec: f64) -> Option<Gd<SceneTreeTimer>>
pub fn create_timer(&mut self, time_sec: f64) -> Option<Gd<SceneTreeTimer>>
To set the default parameters, use Self::create_timer_ex
and its builder methods. See the book for detailed usage instructions.
pub fn create_timer_ex<'a>(&'a mut self, time_sec: f64) -> ExCreateTimer<'a>
pub fn create_tween(&mut self) -> Option<Gd<Tween>>
pub fn get_processed_tweens(&mut self) -> Array<Gd<Tween>>
pub fn get_node_count(&self) -> i32
pub fn get_frame(&self) -> i64
pub fn quit(&mut self)
pub fn quit(&mut self)
To set the default parameters, use Self::quit_ex
and its builder methods. See the book for detailed usage instructions.
pub fn quit_ex<'a>(&'a mut self) -> ExQuit<'a>
pub fn set_physics_interpolation_enabled(&mut self, enabled: bool)
pub fn is_physics_interpolation_enabled(&self) -> bool
pub fn queue_delete(&mut self, obj: impl AsObjectArg<Object>)
pub fn call_group_flags(
&mut self,
flags: i64,
group: StringName,
method: StringName,
varargs: &[Variant],
)
pub fn call_group_flags( &mut self, flags: i64, group: StringName, method: StringName, varargs: &[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_group_flags(
&mut self,
flags: i64,
group: StringName,
method: StringName,
varargs: &[Variant],
) -> Result<(), CallError>
pub fn try_call_group_flags( &mut self, flags: i64, group: StringName, method: StringName, varargs: &[Variant], ) -> Result<(), 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 notify_group_flags( &mut self, call_flags: u32, group: StringName, notification: i32, )
pub fn set_group_flags( &mut self, call_flags: u32, group: StringName, property: GString, value: &Variant, )
pub fn call_group(
&mut self,
group: StringName,
method: StringName,
varargs: &[Variant],
)
pub fn call_group( &mut self, group: StringName, method: StringName, varargs: &[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_group(
&mut self,
group: StringName,
method: StringName,
varargs: &[Variant],
) -> Result<(), CallError>
pub fn try_call_group( &mut self, group: StringName, method: StringName, varargs: &[Variant], ) -> Result<(), 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 notify_group(&mut self, group: StringName, notification: i32)
pub fn set_group( &mut self, group: StringName, property: GString, value: &Variant, )
pub fn get_nodes_in_group(&mut self, group: StringName) -> Array<Gd<Node>>
pub fn get_first_node_in_group(&mut self, group: StringName) -> Option<Gd<Node>>
pub fn get_node_count_in_group(&self, group: StringName) -> i32
pub fn set_current_scene(&mut self, child_node: impl AsObjectArg<Node>)
pub fn get_current_scene(&self) -> Option<Gd<Node>>
pub fn change_scene_to_file(&mut self, path: GString) -> Error
pub fn change_scene_to_packed( &mut self, packed_scene: impl AsObjectArg<PackedScene>, ) -> Error
pub fn reload_current_scene(&mut self) -> Error
pub fn unload_current_scene(&mut self)
pub fn set_multiplayer(&mut self, multiplayer: impl AsObjectArg<MultiplayerApi>)
pub fn set_multiplayer(&mut self, multiplayer: impl AsObjectArg<MultiplayerApi>)
To set the default parameters, use Self::set_multiplayer_ex
and its builder methods. See the book for detailed usage instructions.
pub fn set_multiplayer_ex<'a>( &'a mut self, multiplayer: impl AsObjectArg<MultiplayerApi>, ) -> ExSetMultiplayer<'a>
pub fn get_multiplayer(&self) -> Option<Gd<MultiplayerApi>>
pub fn get_multiplayer(&self) -> Option<Gd<MultiplayerApi>>
To set the default parameters, use Self::get_multiplayer_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_multiplayer_ex<'a>(&'a self) -> ExGetMultiplayer<'a>
pub fn set_multiplayer_poll_enabled(&mut self, enabled: bool)
pub fn is_multiplayer_poll_enabled(&self) -> bool
Methods from Deref<Target = MainLoop>§
pub fn notify(&mut self, what: MainLoopNotification)
pub fn notify(&mut self, what: MainLoopNotification)
⚠️ 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: MainLoopNotification)
pub fn notify_reversed(&mut self, what: MainLoopNotification)
⚠️ 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: GString) -> bool
pub fn set(&mut self, property: StringName, value: &Variant)
pub fn get(&self, property: StringName) -> Variant
pub fn set_indexed(&mut self, property_path: NodePath, value: &Variant)
pub fn get_indexed(&self, property_path: 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: StringName) -> bool
pub fn property_get_revert(&self, property: StringName) -> Variant
pub fn set_script(&mut self, script: &Variant)
pub fn get_script(&self) -> Variant
pub fn set_meta(&mut self, name: StringName, value: &Variant)
pub fn remove_meta(&mut self, name: StringName)
pub fn get_meta(&self, name: StringName) -> Variant
pub fn get_meta(&self, name: 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: StringName) -> ExGetMeta<'a>
pub fn has_meta(&self, name: StringName) -> bool
pub fn get_meta_list(&self) -> Array<StringName>
pub fn add_user_signal(&mut self, signal: GString)
pub fn add_user_signal(&mut self, signal: 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: GString, ) -> ExAddUserSignal<'a>
pub fn has_user_signal(&self, signal: StringName) -> bool
pub fn remove_user_signal(&mut self, signal: StringName)
pub fn emit_signal(&mut self, signal: StringName, varargs: &[Variant]) -> Error
pub fn emit_signal(&mut self, signal: 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: StringName,
varargs: &[Variant],
) -> Result<Error, CallError>
pub fn try_emit_signal( &mut self, signal: 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: StringName, varargs: &[Variant]) -> Variant
pub fn call(&mut self, method: 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: StringName,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call( &mut self, method: 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: StringName,
varargs: &[Variant],
) -> Variant
pub fn call_deferred( &mut self, method: 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: StringName,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call_deferred( &mut self, method: 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: StringName, value: &Variant)
pub fn callv( &mut self, method: StringName, arg_array: &Array<Variant>, ) -> Variant
pub fn has_method(&self, method: StringName) -> bool
pub fn get_method_argument_count(&self, method: StringName) -> i32
pub fn has_signal(&self, signal: StringName) -> bool
pub fn get_signal_list(&self) -> Array<Dictionary>
pub fn get_signal_connection_list( &self, signal: StringName, ) -> Array<Dictionary>
pub fn get_incoming_connections(&self) -> Array<Dictionary>
pub fn connect(&mut self, signal: StringName, callable: Callable) -> Error
pub fn connect(&mut self, signal: 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: StringName, callable: Callable, ) -> ExConnect<'a>
pub fn disconnect(&mut self, signal: StringName, callable: Callable)
pub fn is_connected(&self, signal: 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: StringName) -> GString
pub fn tr(&self, message: 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: StringName) -> ExTr<'a>
pub fn tr_n(
&self,
message: StringName,
plural_message: StringName,
n: i32,
) -> GString
pub fn tr_n( &self, message: StringName, plural_message: 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: StringName, plural_message: StringName, 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.