[][src]Struct gdnative::api::AnimationTreePlayer

pub struct AnimationTreePlayer { /* fields omitted */ }

core class AnimationTreePlayer inherits Node (unsafe).

Official documentation

See the documentation of this class in the Godot engine's official documentation.

Memory management

Non reference counted objects such as the ones of this type are usually owned by the engine.

AnimationTreePlayer is a reference-only type. Persistent references can only exist in the unsafe Ref<AnimationTreePlayer> form.

In the cases where Rust code owns an object of this type, for example if the object was just created on the Rust side and not passed to the engine yet, ownership should be either given to the engine or the object must be manually destroyed using Ref::free, or Ref::queue_free if it is a Node.

Class hierarchy

AnimationTreePlayer inherits methods from:

Safety

All types in the Godot API have "interior mutability" in Rust parlance. To enforce that the official thread-safety guidelines are followed, the typestate pattern is used in the Ref and TRef smart pointers, and the Instance API. The typestate Access in these types tracks whether the access is unique, shared, or exclusive to the current thread. For more information, see the type-level documentation on Ref.

Implementations

impl AnimationTreePlayer[src]

Constants

impl AnimationTreePlayer[src]

pub fn new() -> Ref<AnimationTreePlayer, Unique>[src]

Creates a new instance of this object.

Because this type is not reference counted, the lifetime of the returned object is not automatically managed.

Immediately after creation, the object is owned by the caller, and can be passed to the engine (in which case the engine will be responsible for destroying the object) or destroyed manually using Ref::free, or preferably Ref::queue_free if it is a Node.

pub fn add_node(&self, _type: i64, id: impl Into<GodotString>)[src]

Adds a [code]type[/code] node to the graph with name [code]id[/code].

pub fn advance(&self, delta: f64)[src]

Shifts position in the animation timeline. [code]delta[/code] is the time in seconds to shift. Events between the current frame and [code]delta[/code] are handled.

pub fn animation_node_get_animation(
    &self,
    id: impl Into<GodotString>
) -> Option<Ref<Animation, Shared>>
[src]

Returns the [AnimationPlayer]'s [Animation] bound to the [AnimationTreePlayer]'s animation node with name [code]id[/code].

pub fn animation_node_get_master_animation(
    &self,
    id: impl Into<GodotString>
) -> GodotString
[src]

Returns the name of the [member master_player]'s [Animation] bound to this animation node.

pub fn animation_node_get_position(&self, id: impl Into<GodotString>) -> f64[src]

Returns the absolute playback timestamp of the animation node with name [code]id[/code].

pub fn animation_node_set_animation(
    &self,
    id: impl Into<GodotString>,
    animation: impl AsArg<Animation>
)
[src]

Binds a new [Animation] from the [member master_player] to the [AnimationTreePlayer]'s animation node with name [code]id[/code].

pub fn animation_node_set_filter_path(
    &self,
    id: impl Into<GodotString>,
    path: impl Into<NodePath>,
    enable: bool
)
[src]

If [code]enable[/code] is [code]true[/code], the animation node with ID [code]id[/code] turns off the track modifying the property at [code]path[/code]. The modified node's children continue to animate.

pub fn animation_node_set_master_animation(
    &self,
    id: impl Into<GodotString>,
    source: impl Into<GodotString>
)
[src]

Binds the [Animation] named [code]source[/code] from [member master_player] to the animation node [code]id[/code]. Recalculates caches.

pub fn are_nodes_connected(
    &self,
    id: impl Into<GodotString>,
    dst_id: impl Into<GodotString>,
    dst_input_idx: i64
) -> bool
[src]

Returns whether node [code]id[/code] and [code]dst_id[/code] are connected at the specified slot.

pub fn blend2_node_get_amount(&self, id: impl Into<GodotString>) -> f64[src]

Returns the blend amount of a Blend2 node given its name.

pub fn blend2_node_set_amount(&self, id: impl Into<GodotString>, blend: f64)[src]

Sets the blend amount of a Blend2 node given its name and value.
				A Blend2 node blends two animations (A and B) with the amount between 0 and 1.
				At 0, output is input A. Towards 1, the influence of A gets lessened, the influence of B gets raised. At 1, output is input B.

pub fn blend2_node_set_filter_path(
    &self,
    id: impl Into<GodotString>,
    path: impl Into<NodePath>,
    enable: bool
)
[src]

If [code]enable[/code] is [code]true[/code], the Blend2 node with name [code]id[/code] turns off the track modifying the property at [code]path[/code]. The modified node's children continue to animate.

pub fn blend3_node_get_amount(&self, id: impl Into<GodotString>) -> f64[src]

Returns the blend amount of a Blend3 node given its name.

pub fn blend3_node_set_amount(&self, id: impl Into<GodotString>, blend: f64)[src]

Sets the blend amount of a Blend3 node given its name and value.
				A Blend3 Node blends three animations (A, B-, B+) with the amount between -1 and 1.
				At -1, output is input B-. From -1 to 0, the influence of B- gets lessened, the influence of A gets raised and the influence of B+ is 0. At 0, output is input A. From 0 to 1, the influence of A gets lessened, the influence of B+ gets raised and the influence of B+ is 0. At 1, output is input B+.

pub fn blend4_node_get_amount(
    &self,
    id: impl Into<GodotString>
) -> Vector2D<f32, UnknownUnit>
[src]

Returns the blend amount of a Blend4 node given its name.

pub fn blend4_node_set_amount(
    &self,
    id: impl Into<GodotString>,
    blend: Vector2D<f32, UnknownUnit>
)
[src]

Sets the blend amount of a Blend4 node given its name and value.
				A Blend4 Node blends two pairs of animations.
				The two pairs are blended like Blend2 and then added together.

pub fn connect_nodes(
    &self,
    id: impl Into<GodotString>,
    dst_id: impl Into<GodotString>,
    dst_input_idx: i64
) -> Result<(), GodotError>
[src]

Connects node [code]id[/code] to [code]dst_id[/code] at the specified input slot.

pub fn disconnect_nodes(&self, id: impl Into<GodotString>, dst_input_idx: i64)[src]

Disconnects nodes connected to [code]id[/code] at the specified input slot.

pub fn animation_process_mode(&self) -> AnimationProcessMode[src]

The thread in which to update animations.

pub fn base_path(&self) -> NodePath[src]

The node from which to relatively access other nodes.
			It accesses the bones, so it should point to the same node the [AnimationPlayer] would point its Root Node at.

pub fn master_player(&self) -> NodePath[src]

The path to the [AnimationPlayer] from which this [AnimationTreePlayer] binds animations to animation nodes.
			Once set, [Animation] nodes can be added to the [AnimationTreePlayer].

pub fn get_node_list(&self) -> TypedArray<GodotString>[src]

Returns a [PoolStringArray] containing the name of all nodes.

pub fn is_active(&self) -> bool[src]

If [code]true[/code], the [AnimationTreePlayer] is able to play animations.

pub fn mix_node_get_amount(&self, id: impl Into<GodotString>) -> f64[src]

Returns the mix amount of a Mix node given its name.

pub fn mix_node_set_amount(&self, id: impl Into<GodotString>, ratio: f64)[src]

Sets the mix amount of a Mix node given its name and value.
				A Mix node adds input b to input a by the amount given by ratio.

pub fn node_exists(&self, node: impl Into<GodotString>) -> bool[src]

Check if a node exists (by name).

pub fn node_get_input_count(&self, id: impl Into<GodotString>) -> i64[src]

Returns the input count for a given node. Different types of nodes have different amount of inputs.

pub fn node_get_input_source(
    &self,
    id: impl Into<GodotString>,
    idx: i64
) -> GodotString
[src]

Returns the input source for a given node input.

pub fn node_get_position(
    &self,
    id: impl Into<GodotString>
) -> Vector2D<f32, UnknownUnit>
[src]

Returns position of a node in the graph given its name.

pub fn node_get_type(&self, id: impl Into<GodotString>) -> NodeType[src]

Gets the node type, will return from [enum NodeType] enum.

pub fn node_rename(
    &self,
    node: impl Into<GodotString>,
    new_name: impl Into<GodotString>
) -> Result<(), GodotError>
[src]

Renames a node in the graph.

pub fn node_set_position(
    &self,
    id: impl Into<GodotString>,
    screen_position: Vector2D<f32, UnknownUnit>
)
[src]

Sets the position of a node in the graph given its name and position.

pub fn oneshot_node_get_autorestart_delay(
    &self,
    id: impl Into<GodotString>
) -> f64
[src]

Returns the autostart delay of a OneShot node given its name.

pub fn oneshot_node_get_autorestart_random_delay(
    &self,
    id: impl Into<GodotString>
) -> f64
[src]

Returns the autostart random delay of a OneShot node given its name.

pub fn oneshot_node_get_fadein_time(&self, id: impl Into<GodotString>) -> f64[src]

Returns the fade in time of a OneShot node given its name.

pub fn oneshot_node_get_fadeout_time(&self, id: impl Into<GodotString>) -> f64[src]

Returns the fade out time of a OneShot node given its name.

pub fn oneshot_node_has_autorestart(&self, id: impl Into<GodotString>) -> bool[src]

Returns whether a OneShot node will auto restart given its name.

pub fn oneshot_node_is_active(&self, id: impl Into<GodotString>) -> bool[src]

Returns whether a OneShot node is active given its name.

pub fn oneshot_node_set_autorestart(
    &self,
    id: impl Into<GodotString>,
    enable: bool
)
[src]

Sets the autorestart property of a OneShot node given its name and value.

pub fn oneshot_node_set_autorestart_delay(
    &self,
    id: impl Into<GodotString>,
    delay_sec: f64
)
[src]

Sets the autorestart delay of a OneShot node given its name and value in seconds.

pub fn oneshot_node_set_autorestart_random_delay(
    &self,
    id: impl Into<GodotString>,
    rand_sec: f64
)
[src]

Sets the autorestart random delay of a OneShot node given its name and value in seconds.

pub fn oneshot_node_set_fadein_time(
    &self,
    id: impl Into<GodotString>,
    time_sec: f64
)
[src]

Sets the fade in time of a OneShot node given its name and value in seconds.

pub fn oneshot_node_set_fadeout_time(
    &self,
    id: impl Into<GodotString>,
    time_sec: f64
)
[src]

Sets the fade out time of a OneShot node given its name and value in seconds.

pub fn oneshot_node_set_filter_path(
    &self,
    id: impl Into<GodotString>,
    path: impl Into<NodePath>,
    enable: bool
)
[src]

If [code]enable[/code] is [code]true[/code], the OneShot node with ID [code]id[/code] turns off the track modifying the property at [code]path[/code]. The modified node's children continue to animate.

pub fn oneshot_node_start(&self, id: impl Into<GodotString>)[src]

Starts a OneShot node given its name.

pub fn oneshot_node_stop(&self, id: impl Into<GodotString>)[src]

Stops the OneShot node with name [code]id[/code].

pub fn recompute_caches(&self)[src]

Manually recalculates the cache of track information generated from animation nodes. Needed when external sources modify the animation nodes' state.

pub fn remove_node(&self, id: impl Into<GodotString>)[src]

Removes the animation node with name [code]id[/code].

pub fn reset(&self)[src]

Resets this [AnimationTreePlayer].

pub fn set_active(&self, enabled: bool)[src]

If [code]true[/code], the [AnimationTreePlayer] is able to play animations.

pub fn set_animation_process_mode(&self, mode: i64)[src]

The thread in which to update animations.

pub fn set_base_path(&self, path: impl Into<NodePath>)[src]

The node from which to relatively access other nodes.
			It accesses the bones, so it should point to the same node the [AnimationPlayer] would point its Root Node at.

pub fn set_master_player(&self, nodepath: impl Into<NodePath>)[src]

The path to the [AnimationPlayer] from which this [AnimationTreePlayer] binds animations to animation nodes.
			Once set, [Animation] nodes can be added to the [AnimationTreePlayer].

pub fn timescale_node_get_scale(&self, id: impl Into<GodotString>) -> f64[src]

Returns the time scale value of the TimeScale node with name [code]id[/code].

pub fn timescale_node_set_scale(&self, id: impl Into<GodotString>, scale: f64)[src]

Sets the time scale of the TimeScale node with name [code]id[/code] to [code]scale[/code].
				The TimeScale node is used to speed [Animation]s up if the scale is above 1 or slow them down if it is below 1.
				If applied after a blend or mix, affects all input animations to that blend or mix.

pub fn timeseek_node_seek(&self, id: impl Into<GodotString>, seconds: f64)[src]

Sets the time seek value of the TimeSeek node with name [code]id[/code] to [code]seconds[/code].
				This functions as a seek in the [Animation] or the blend or mix of [Animation]s input in it.

pub fn transition_node_delete_input(
    &self,
    id: impl Into<GodotString>,
    input_idx: i64
)
[src]

Deletes the input at [code]input_idx[/code] for the transition node with name [code]id[/code].

pub fn transition_node_get_current(&self, id: impl Into<GodotString>) -> i64[src]

Returns the index of the currently evaluated input for the transition node with name [code]id[/code].

pub fn transition_node_get_input_count(&self, id: impl Into<GodotString>) -> i64[src]

Returns the number of inputs for the transition node with name [code]id[/code]. You can add inputs by right-clicking on the transition node.

pub fn transition_node_get_xfade_time(&self, id: impl Into<GodotString>) -> f64[src]

Returns the cross fade time for the transition node with name [code]id[/code].

pub fn transition_node_has_input_auto_advance(
    &self,
    id: impl Into<GodotString>,
    input_idx: i64
) -> bool
[src]

Returns [code]true[/code] if the input at [code]input_idx[/code] on the transition node with name [code]id[/code] is set to automatically advance to the next input upon completion.

pub fn transition_node_set_current(
    &self,
    id: impl Into<GodotString>,
    input_idx: i64
)
[src]

The transition node with name [code]id[/code] sets its current input at [code]input_idx[/code].

pub fn transition_node_set_input_auto_advance(
    &self,
    id: impl Into<GodotString>,
    input_idx: i64,
    enable: bool
)
[src]

The transition node with name [code]id[/code] advances to its next input automatically when the input at [code]input_idx[/code] completes.

pub fn transition_node_set_input_count(
    &self,
    id: impl Into<GodotString>,
    count: i64
)
[src]

Resizes the number of inputs available for the transition node with name [code]id[/code].

pub fn transition_node_set_xfade_time(
    &self,
    id: impl Into<GodotString>,
    time_sec: f64
)
[src]

The transition node with name [code]id[/code] sets its cross fade time to [code]time_sec[/code].

Methods from Deref<Target = Node>

pub const DUPLICATE_GROUPS: i64[src]

pub const DUPLICATE_SCRIPTS: i64[src]

pub const DUPLICATE_SIGNALS: i64[src]

pub const DUPLICATE_USE_INSTANCING: i64[src]

pub const NOTIFICATION_APP_PAUSED: i64[src]

pub const NOTIFICATION_APP_RESUMED: i64[src]

pub const NOTIFICATION_CRASH: i64[src]

pub const NOTIFICATION_DRAG_BEGIN: i64[src]

pub const NOTIFICATION_DRAG_END: i64[src]

pub const NOTIFICATION_ENTER_TREE: i64[src]

pub const NOTIFICATION_EXIT_TREE: i64[src]

pub const NOTIFICATION_INSTANCED: i64[src]

pub const NOTIFICATION_INTERNAL_PHYSICS_PROCESS: i64[src]

pub const NOTIFICATION_INTERNAL_PROCESS: i64[src]

pub const NOTIFICATION_MOVED_IN_PARENT: i64[src]

pub const NOTIFICATION_OS_IME_UPDATE: i64[src]

pub const NOTIFICATION_OS_MEMORY_WARNING: i64[src]

pub const NOTIFICATION_PARENTED: i64[src]

pub const NOTIFICATION_PATH_CHANGED: i64[src]

pub const NOTIFICATION_PAUSED: i64[src]

pub const NOTIFICATION_PHYSICS_PROCESS: i64[src]

pub const NOTIFICATION_POST_ENTER_TREE: i64[src]

pub const NOTIFICATION_PROCESS: i64[src]

pub const NOTIFICATION_READY: i64[src]

pub const NOTIFICATION_TRANSLATION_CHANGED: i64[src]

pub const NOTIFICATION_UNPARENTED: i64[src]

pub const NOTIFICATION_UNPAUSED: i64[src]

pub const NOTIFICATION_WM_ABOUT: i64[src]

pub const NOTIFICATION_WM_FOCUS_IN: i64[src]

pub const NOTIFICATION_WM_FOCUS_OUT: i64[src]

pub const NOTIFICATION_WM_GO_BACK_REQUEST: i64[src]

pub const NOTIFICATION_WM_MOUSE_ENTER: i64[src]

pub const NOTIFICATION_WM_MOUSE_EXIT: i64[src]

pub const NOTIFICATION_WM_QUIT_REQUEST: i64[src]

pub const NOTIFICATION_WM_UNFOCUS_REQUEST: i64[src]

pub const PAUSE_MODE_INHERIT: i64[src]

pub const PAUSE_MODE_PROCESS: i64[src]

pub const PAUSE_MODE_STOP: i64[src]

pub fn add_child(&self, node: impl AsArg<Node>, legible_unique_name: bool)[src]

Adds a child node. Nodes can have any number of children, but every child must have a unique name. Child nodes are automatically deleted when the parent node is deleted, so an entire scene can be removed by deleting its topmost node.
				If [code]legible_unique_name[/code] is [code]true[/code], the child node will have an human-readable name based on the name of the node being instanced instead of its type.
				[b]Note:[/b] If the child node already has a parent, the function will fail. Use [method remove_child] first to remove the node from its current parent. For example:
				[codeblock]
				if child_node.get_parent():
				    child_node.get_parent().remove_child(child_node)
				add_child(child_node)
				[/codeblock]
				[b]Note:[/b] If you want a child to be persisted to a [PackedScene], you must set [member owner] in addition to calling [method add_child]. This is typically relevant for [url=https://godot.readthedocs.io/en/latest/tutorials/misc/running_code_in_the_editor.html]tool scripts[/url] and [url=https://godot.readthedocs.io/en/latest/tutorials/plugins/editor/index.html]editor plugins[/url]. If [method add_child] is called without setting [member owner], the newly added [Node] will not be visible in the scene tree, though it will be visible in the 2D/3D view.

Default Arguments

  • legible_unique_name - false

pub fn add_child_below_node(
    &self,
    node: impl AsArg<Node>,
    child_node: impl AsArg<Node>,
    legible_unique_name: bool
)
[src]

Adds [code]child_node[/code] as a child. The child is placed below the given [code]node[/code] in the list of children.
				If [code]legible_unique_name[/code] is [code]true[/code], the child node will have an human-readable name based on the name of the node being instanced instead of its type.

Default Arguments

  • legible_unique_name - false

pub fn add_to_group(&self, group: impl Into<GodotString>, persistent: bool)[src]

Adds the node to a group. Groups are helpers to name and organize a subset of nodes, for example "enemies" or "collectables". A node can be in any number of groups. Nodes can be assigned a group at any time, but will not be added until they are inside the scene tree (see [method is_inside_tree]). See notes in the description, and the group methods in [SceneTree].
				The [code]persistent[/code] option is used when packing node to [PackedScene] and saving to file. Non-persistent groups aren't stored.

Default Arguments

  • persistent - false

pub fn can_process(&self) -> bool[src]

Returns [code]true[/code] if the node can process while the scene tree is paused (see [member pause_mode]). Always returns [code]true[/code] if the scene tree is not paused, and [code]false[/code] if the node is not in the tree.

pub fn duplicate(&self, flags: i64) -> Option<Ref<Node, Shared>>[src]

Duplicates the node, returning a new node.
				You can fine-tune the behavior using the [code]flags[/code] (see [enum DuplicateFlags]).
				[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.

Default Arguments

  • flags - 15

pub fn find_node(
    &self,
    mask: impl Into<GodotString>,
    recursive: bool,
    owned: bool
) -> Option<Ref<Node, Shared>>
[src]

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]).
				[b]Note:[/b] It does not match against the full path, just against individual node names.
				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.

Default Arguments

  • recursive - true
  • owned - true

pub fn find_parent(
    &self,
    mask: impl Into<GodotString>
) -> Option<Ref<Node, Shared>>
[src]

Finds the first parent of the current 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]).
				[b]Note:[/b] It does not match against the full path, just against individual node names.
				[b]Note:[/b] As this method walks upwards in the scene tree, it can be slow in large, deeply nested scene trees. Whenever possible, consider using [method get_node] instead. To avoid using [method find_parent] too often, consider caching the node reference into a variable.

pub fn get_child(&self, idx: i64) -> Option<Ref<Node, Shared>>[src]

Returns a child node by its index (see [method get_child_count]). This method is often used for iterating all children of a node.
				To access a child node via its name, use [method get_node].

pub fn get_child_count(&self) -> i64[src]

Returns the number of child nodes.

pub fn get_children(&self) -> VariantArray<Shared>[src]

Returns an array of references to node's children.

pub fn custom_multiplayer(&self) -> Option<Ref<MultiplayerAPI, Shared>>[src]

The override to the default [MultiplayerAPI]. Set to [code]null[/code] to use the default [SceneTree] one.

pub fn filename(&self) -> GodotString[src]

When a scene is instanced from a file, its topmost node contains the filename from which it was loaded.

pub fn get_groups(&self) -> VariantArray<Shared>[src]

Returns an array listing the groups that the node is a member of.

pub fn get_index(&self) -> i64[src]

Returns the node's index, i.e. its position among the siblings of its parent.

pub fn multiplayer(&self) -> Option<Ref<MultiplayerAPI, Shared>>[src]

The [MultiplayerAPI] instance associated with this node. Either the [member custom_multiplayer], or the default SceneTree one (if inside tree).

pub fn name(&self) -> GodotString[src]

The name of the node. This name is unique among the siblings (other child nodes from the same parent). When set to an existing name, the node will be automatically renamed.

pub fn get_network_master(&self) -> i64[src]

Returns the peer ID of the network master for this node. See [method set_network_master].

pub fn get_node(&self, path: impl Into<NodePath>) -> Option<Ref<Node, Shared>>[src]

Fetches a node. The [NodePath] can be either a relative path (from the current node) or an absolute path (in the scene tree) to a node. If the path does not exist, a [code]null instance[/code] is returned and an error is logged. Attempts to access methods on the return value will result in an "Attempt to call <method> on a null instance." error.
				[b]Note:[/b] Fetching absolute paths only works when the node is inside the scene tree (see [method is_inside_tree]).
				[b]Example:[/b] Assume your current node is Character and the following tree:
				[codeblock]
				/root
				/root/Character
				/root/Character/Sword
				/root/Character/Backpack/Dagger
				/root/MyGame
				/root/Swamp/Alligator
				/root/Swamp/Mosquito
				/root/Swamp/Goblin
				[/codeblock]
				Possible paths are:
				[codeblock]
				get_node("Sword")
				get_node("Backpack/Dagger")
				get_node("../Swamp/Alligator")
				get_node("/root/MyGame")
				[/codeblock]

pub fn get_node_and_resource(
    &self,
    path: impl Into<NodePath>
) -> VariantArray<Shared>
[src]

Fetches a node and one of its resources as specified by the [NodePath]'s subname (e.g. [code]Area2D/CollisionShape2D:shape[/code]). If several nested resources are specified in the [NodePath], the last one will be fetched.
				The return value is an array of size 3: the first index points to the [Node] (or [code]null[/code] if not found), the second index points to the [Resource] (or [code]null[/code] if not found), and the third index is the remaining [NodePath], if any.
				For example, assuming that [code]Area2D/CollisionShape2D[/code] is a valid node and that its [code]shape[/code] property has been assigned a [RectangleShape2D] resource, one could have this kind of output:
				[codeblock]
				print(get_node_and_resource("Area2D/CollisionShape2D")) # [[CollisionShape2D:1161], Null, ]
				print(get_node_and_resource("Area2D/CollisionShape2D:shape")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], ]
				print(get_node_and_resource("Area2D/CollisionShape2D:shape:extents")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], :extents]
				[/codeblock]

pub fn get_node_or_null(
    &self,
    path: impl Into<NodePath>
) -> Option<Ref<Node, Shared>>
[src]

Similar to [method get_node], but does not log an error if [code]path[/code] does not point to a valid [Node].

pub fn owner(&self) -> Option<Ref<Node, Shared>>[src]

The node owner. A node can have any other node as owner (as long as it is a valid parent, grandparent, etc. ascending in the tree). When saving a node (using [PackedScene]), all the nodes it owns will be saved with it. This allows for the creation of complex [SceneTree]s, with instancing and subinstancing.

pub fn get_parent(&self) -> Option<Ref<Node, Shared>>[src]

Returns the parent node of the current node, or a [code]null instance[/code] if the node lacks a parent.

pub fn get_path(&self) -> NodePath[src]

Returns the absolute path of the current node. This only works if the current node is inside the scene tree (see [method is_inside_tree]).

pub fn get_path_to(&self, node: impl AsArg<Node>) -> NodePath[src]

Returns the relative [NodePath] from this node to the specified [code]node[/code]. Both nodes must be in the same scene or the function will fail.

pub fn pause_mode(&self) -> PauseMode[src]

Pause mode. How the node will behave if the [SceneTree] is paused.

pub fn get_physics_process_delta_time(&self) -> f64[src]

Returns the time elapsed since the last physics-bound frame (see [method _physics_process]). This is always a constant value in physics processing unless the frames per second is changed via [member Engine.iterations_per_second].

pub fn get_position_in_parent(&self) -> i64[src]

Returns the node's order in the scene tree branch. For example, if called on the first child node the position is [code]0[/code].

pub fn get_process_delta_time(&self) -> f64[src]

Returns the time elapsed (in seconds) since the last process callback. This value may vary from frame to frame.

pub fn process_priority(&self) -> i64[src]

The node's priority in the execution order of the enabled processing callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant NOTIFICATION_PHYSICS_PROCESS] and their internal counterparts). Nodes whose process priority value is [i]lower[/i] will have their processing callbacks executed first.

pub fn get_scene_instance_load_placeholder(&self) -> bool[src]

Returns [code]true[/code] if this is an instance load placeholder. See [InstancePlaceholder].

pub fn get_tree(&self) -> Option<Ref<SceneTree, Shared>>[src]

Returns the [SceneTree] that contains this node.

pub fn get_viewport(&self) -> Option<Ref<Viewport, Shared>>[src]

Returns the node's [Viewport].

pub fn has_node(&self, path: impl Into<NodePath>) -> bool[src]

Returns [code]true[/code] if the node that the [NodePath] points to exists.

pub fn has_node_and_resource(&self, path: impl Into<NodePath>) -> bool[src]

Returns [code]true[/code] if the [NodePath] points to a valid node and its subname points to a valid resource, e.g. [code]Area2D/CollisionShape2D:shape[/code]. Properties with a non-[Resource] type (e.g. nodes or primitive math types) are not considered resources.

pub fn is_a_parent_of(&self, node: impl AsArg<Node>) -> bool[src]

Returns [code]true[/code] if the given node is a direct or indirect child of the current node.

pub fn is_displayed_folded(&self) -> bool[src]

Returns [code]true[/code] if the node is folded (collapsed) in the Scene dock.

pub fn is_greater_than(&self, node: impl AsArg<Node>) -> bool[src]

Returns [code]true[/code] if the given node occurs later in the scene hierarchy than the current node.

pub fn is_in_group(&self, group: impl Into<GodotString>) -> bool[src]

Returns [code]true[/code] if this node is in the specified group. See notes in the description, and the group methods in [SceneTree].

pub fn is_inside_tree(&self) -> bool[src]

Returns [code]true[/code] if this node is currently inside a [SceneTree].

pub fn is_network_master(&self) -> bool[src]

Returns [code]true[/code] if the local system is the master of this node.

pub fn is_physics_processing(&self) -> bool[src]

Returns [code]true[/code] if physics processing is enabled (see [method set_physics_process]).

pub fn is_physics_processing_internal(&self) -> bool[src]

Returns [code]true[/code] if internal physics processing is enabled (see [method set_physics_process_internal]).

pub fn is_processing(&self) -> bool[src]

Returns [code]true[/code] if processing is enabled (see [method set_process]).

pub fn is_processing_input(&self) -> bool[src]

Returns [code]true[/code] if the node is processing input (see [method set_process_input]).

pub fn is_processing_internal(&self) -> bool[src]

Returns [code]true[/code] if internal processing is enabled (see [method set_process_internal]).

pub fn is_processing_unhandled_input(&self) -> bool[src]

Returns [code]true[/code] if the node is processing unhandled input (see [method set_process_unhandled_input]).

pub fn is_processing_unhandled_key_input(&self) -> bool[src]

Returns [code]true[/code] if the node is processing unhandled key input (see [method set_process_unhandled_key_input]).

pub fn move_child(&self, child_node: impl AsArg<Node>, to_position: i64)[src]

Moves a child node to a different position (order) among the other children. Since calls, signals, etc are performed by tree order, changing the order of children nodes may be useful.

pub fn print_stray_nodes(&self)[src]

Prints all stray nodes (nodes outside the [SceneTree]). Used for debugging. Works only in debug builds.

pub fn print_tree(&self)[src]

Prints the tree to stdout. Used mainly for debugging purposes. This version displays the path relative to the current node, and is good for copy/pasting into the [method get_node] function.
				[b]Example output:[/b]
				[codeblock]
				TheGame
				TheGame/Menu
				TheGame/Menu/Label
				TheGame/Menu/Camera2D
				TheGame/SplashScreen
				TheGame/SplashScreen/Camera2D
				[/codeblock]

pub fn print_tree_pretty(&self)[src]

Similar to [method print_tree], this prints the tree to stdout. This version displays a more graphical representation similar to what is displayed in the scene inspector. It is useful for inspecting larger trees.
				[b]Example output:[/b]
				[codeblock]
				 ┖╴TheGame
				    ┠╴Menu
				    ┃  ┠╴Label
				    ┃  ┖╴Camera2D
				    ┖╴SplashScreen
				       ┖╴Camera2D
				[/codeblock]

pub fn propagate_call(
    &self,
    method: impl Into<GodotString>,
    args: VariantArray<Shared>,
    parent_first: bool
)
[src]

Calls the given method (if present) with the arguments given in [code]args[/code] on this node and recursively on all its children. If the [code]parent_first[/code] argument is [code]true[/code], the method will be called on the current node first, then on all its children. If [code]parent_first[/code] is [code]false[/code], the children will be called first.

Default Arguments

  • args - [ ]
  • parent_first - false

pub fn propagate_notification(&self, what: i64)[src]

Notifies the current node and all its children recursively by calling [method Object.notification] on all of them.

pub fn queue_free(&self)[src]

Queues a node for deletion at the end of the current frame. When deleted, all of its child nodes will be deleted as well. This method ensures it's safe to delete the node, contrary to [method Object.free]. Use [method Object.is_queued_for_deletion] to check whether a node will be deleted at the end of the frame.

pub fn raise(&self)[src]

Moves this node to the bottom of parent node's children hierarchy. This is often useful in GUIs ([Control] nodes), because their order of drawing depends on their order in the tree, i.e. the further they are on the node list, the higher they are drawn. After using [code]raise[/code], a Control will be drawn on top of their siblings.

pub fn remove_and_skip(&self)[src]

Removes a node and sets all its children as children of the parent node (if it exists). All event subscriptions that pass by the removed node will be unsubscribed.

pub fn remove_child(&self, node: impl AsArg<Node>)[src]

Removes a child node. The node is NOT deleted and must be deleted manually.

pub fn remove_from_group(&self, group: impl Into<GodotString>)[src]

Removes a node from a group. See notes in the description, and the group methods in [SceneTree].

pub fn replace_by(&self, node: impl AsArg<Node>, keep_data: bool)[src]

Replaces a node in a scene by the given one. Subscriptions that pass through this node will be lost.

Default Arguments

  • keep_data - false

pub fn request_ready(&self)[src]

Requests that [code]_ready[/code] be called again. Note that the method won't be called immediately, but is scheduled for when the node is added to the scene tree again (see [method _ready]). [code]_ready[/code] is called only for the node which requested it, which means that you need to request ready for each child if you want them to call [code]_ready[/code] too (in which case, [code]_ready[/code] will be called in the same order as it would normally).

pub fn rpc(
    &self,
    method: impl Into<GodotString>,
    varargs: &[Variant]
) -> Variant
[src]

Sends a remote procedure call request for the given [code]method[/code] to peers on the network (and locally), optionally sending all additional arguments as arguments to the method called by the RPC. The call request will only be received by nodes with the same [NodePath], including the exact same node name. Behaviour depends on the RPC configuration for the given method, see [method rpc_config]. Methods are not exposed to RPCs by default. See also [method rset] and [method rset_config] for properties. Returns an empty [Variant].
				[b]Note:[/b] You can only safely use RPCs on clients after you received the [code]connected_to_server[/code] signal from the [SceneTree]. You also need to keep track of the connection state, either by the [SceneTree] signals like [code]server_disconnected[/code] or by checking [code]SceneTree.network_peer.get_connection_status() == CONNECTION_CONNECTED[/code].

pub fn rpc_config(&self, method: impl Into<GodotString>, mode: i64)[src]

Changes the RPC mode for the given [code]method[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]master[/code], [code]puppet[/code], [code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code]). By default, methods are not exposed to networking (and RPCs). See also [method rset] and [method rset_config] for properties.

pub fn rpc_id(
    &self,
    peer_id: i64,
    method: impl Into<GodotString>,
    varargs: &[Variant]
) -> Variant
[src]

Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty [Variant].

pub fn rpc_unreliable(
    &self,
    method: impl Into<GodotString>,
    varargs: &[Variant]
) -> Variant
[src]

Sends a [method rpc] using an unreliable protocol. Returns an empty [Variant].

pub fn rpc_unreliable_id(
    &self,
    peer_id: i64,
    method: impl Into<GodotString>,
    varargs: &[Variant]
) -> Variant
[src]

Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] using an unreliable protocol (see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty [Variant].

pub fn rset(&self, property: impl Into<GodotString>, value: impl OwnedToVariant)[src]

Remotely changes a property's value on other peers (and locally). Behaviour depends on the RPC configuration for the given property, see [method rset_config]. See also [method rpc] for RPCs for methods, most information applies to this method as well.

pub fn rset_config(&self, property: impl Into<GodotString>, mode: i64)[src]

Changes the RPC mode for the given [code]property[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]master[/code], [code]puppet[/code], [code]remotesync[/code], [code]mastersync[/code], [code]puppetsync[/code]). By default, properties are not exposed to networking (and RPCs). See also [method rpc] and [method rpc_config] for methods.

pub fn rset_id(
    &self,
    peer_id: i64,
    property: impl Into<GodotString>,
    value: impl OwnedToVariant
)
[src]

Remotely changes the property's value on a specific peer identified by [code]peer_id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]).

pub fn rset_unreliable(
    &self,
    property: impl Into<GodotString>,
    value: impl OwnedToVariant
)
[src]

Remotely changes the property's value on other peers (and locally) using an unreliable protocol.

pub fn rset_unreliable_id(
    &self,
    peer_id: i64,
    property: impl Into<GodotString>,
    value: impl OwnedToVariant
)
[src]

Remotely changes property's value on a specific peer identified by [code]peer_id[/code] using an unreliable protocol (see [method NetworkedMultiplayerPeer.set_target_peer]).

pub fn set_custom_multiplayer(&self, api: impl AsArg<MultiplayerAPI>)[src]

The override to the default [MultiplayerAPI]. Set to [code]null[/code] to use the default [SceneTree] one.

pub fn set_display_folded(&self, fold: bool)[src]

Sets the folded state of the node in the Scene dock.

pub fn set_filename(&self, filename: impl Into<GodotString>)[src]

When a scene is instanced from a file, its topmost node contains the filename from which it was loaded.

pub fn set_name(&self, name: impl Into<GodotString>)[src]

The name of the node. This name is unique among the siblings (other child nodes from the same parent). When set to an existing name, the node will be automatically renamed.

pub fn set_network_master(&self, id: i64, recursive: bool)[src]

Sets the node's network master to the peer with the given peer ID. The network master is the peer that has authority over the node on the network. Useful in conjunction with the [code]master[/code] and [code]puppet[/code] keywords. Inherited from the parent node by default, which ultimately defaults to peer ID 1 (the server). If [code]recursive[/code], the given peer is recursively set as the master for all children of this node.

Default Arguments

  • recursive - true

pub fn set_owner(&self, owner: impl AsArg<Node>)[src]

The node owner. A node can have any other node as owner (as long as it is a valid parent, grandparent, etc. ascending in the tree). When saving a node (using [PackedScene]), all the nodes it owns will be saved with it. This allows for the creation of complex [SceneTree]s, with instancing and subinstancing.

pub fn set_pause_mode(&self, mode: i64)[src]

Pause mode. How the node will behave if the [SceneTree] is paused.

pub fn set_physics_process(&self, enable: bool)[src]

Enables or disables physics (i.e. fixed framerate) processing. When a node is being processed, it will receive a [constant NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine.iterations_per_second] to change) interval (and the [method _physics_process] callback will be called if exists). Enabled automatically if [method _physics_process] is overridden. Any calls to this before [method _ready] will be ignored.

pub fn set_physics_process_internal(&self, enable: bool)[src]

Enables or disables internal physics for this node. Internal physics processing happens in isolation from the normal [method _physics_process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or physics processing is disabled for scripting ([method set_physics_process]). Only useful for advanced uses to manipulate built-in nodes' behaviour.

pub fn set_process(&self, enable: bool)[src]

Enables or disables processing. When a node is being processed, it will receive a [constant NOTIFICATION_PROCESS] on every drawn frame (and the [method _process] callback will be called if exists). Enabled automatically if [method _process] is overridden. Any calls to this before [method _ready] will be ignored.

pub fn set_process_input(&self, enable: bool)[src]

Enables or disables input processing. This is not required for GUI controls! Enabled automatically if [method _input] is overridden. Any calls to this before [method _ready] will be ignored.

pub fn set_process_internal(&self, enable: bool)[src]

Enables or disabled internal processing for this node. Internal processing happens in isolation from the normal [method _process] calls and is used by some nodes internally to guarantee proper functioning even if the node is paused or processing is disabled for scripting ([method set_process]). Only useful for advanced uses to manipulate built-in nodes' behaviour.

pub fn set_process_priority(&self, priority: i64)[src]

The node's priority in the execution order of the enabled processing callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant NOTIFICATION_PHYSICS_PROCESS] and their internal counterparts). Nodes whose process priority value is [i]lower[/i] will have their processing callbacks executed first.

pub fn set_process_unhandled_input(&self, enable: bool)[src]

Enables unhandled input processing. This is not required for GUI controls! It enables the node to receive all input that was not previously handled (usually by a [Control]). Enabled automatically if [method _unhandled_input] is overridden. Any calls to this before [method _ready] will be ignored.

pub fn set_process_unhandled_key_input(&self, enable: bool)[src]

Enables unhandled key input processing. Enabled automatically if [method _unhandled_key_input] is overridden. Any calls to this before [method _ready] will be ignored.

pub fn set_scene_instance_load_placeholder(&self, load_placeholder: bool)[src]

Sets whether this is an instance load placeholder. See [InstancePlaceholder].

pub fn update_configuration_warning(&self)[src]

Updates the warning displayed for this node in the Scene Dock.
				Use [method _get_configuration_warning] to setup the warning message to display.

Trait Implementations

impl Debug for AnimationTreePlayer[src]

impl Deref for AnimationTreePlayer[src]

type Target = Node

The resulting type after dereferencing.

impl DerefMut for AnimationTreePlayer[src]

impl GodotObject for AnimationTreePlayer[src]

type RefKind = ManuallyManaged

The memory management kind of this type. This modifies the behavior of the Ref smart pointer. See its type-level documentation for more information. Read more

impl Instanciable for AnimationTreePlayer[src]

impl QueueFree for AnimationTreePlayer[src]

impl SubClass<Node> for AnimationTreePlayer[src]

impl SubClass<Object> for AnimationTreePlayer[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.