summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEoin O'Neill <eoinoneill1991@gmail.com>2020-09-18 19:59:25 -0700
committerEoin O'Neill <eoinoneill1991@gmail.com>2021-01-01 22:39:46 -0800
commit674fb52f52f6592c71de319fb4e3fa52be6c136c (patch)
treef6ec0715b0a0068d753079851d66c895595efb37
parent36c943260ed40c6e31a6ecff7f6e1674714b4fcb (diff)
StateMachinePlayback: Added missing bindings to `get_current_play_pos` and `get_current_length`.
This allows the user to query the AnimationNodeStateMachinePlayback's current play position and total length of current animation state. These methods are currently used in the editor plugin, but can also be useful for querying general playback state information. Added documentation for AnimationNodeStateMachinePlayback's `get_current_play_position`
-rw-r--r--doc/classes/AnimationNodeStateMachinePlayback.xml7
-rw-r--r--scene/animation/animation_node_state_machine.cpp2
2 files changed, 9 insertions, 0 deletions
diff --git a/doc/classes/AnimationNodeStateMachinePlayback.xml b/doc/classes/AnimationNodeStateMachinePlayback.xml
index 60ff425cdb..4dc88ffa56 100644
--- a/doc/classes/AnimationNodeStateMachinePlayback.xml
+++ b/doc/classes/AnimationNodeStateMachinePlayback.xml
@@ -35,6 +35,13 @@
Returns the current travel path as computed internally by the A* algorithm.
</description>
</method>
+ <method name="get_current_play_position" qualifiers="const">
+ <return type="float">
+ </return>
+ <description>
+ Returns the playback position within the current animation state.
+ </description>
+ </method>
<method name="is_playing" qualifiers="const">
<return type="bool">
</return>
diff --git a/scene/animation/animation_node_state_machine.cpp b/scene/animation/animation_node_state_machine.cpp
index 36552c966d..f69a9381e1 100644
--- a/scene/animation/animation_node_state_machine.cpp
+++ b/scene/animation/animation_node_state_machine.cpp
@@ -495,6 +495,8 @@ void AnimationNodeStateMachinePlayback::_bind_methods() {
ClassDB::bind_method(D_METHOD("stop"), &AnimationNodeStateMachinePlayback::stop);
ClassDB::bind_method(D_METHOD("is_playing"), &AnimationNodeStateMachinePlayback::is_playing);
ClassDB::bind_method(D_METHOD("get_current_node"), &AnimationNodeStateMachinePlayback::get_current_node);
+ ClassDB::bind_method(D_METHOD("get_current_play_position"), &AnimationNodeStateMachinePlayback::get_current_play_pos);
+ ClassDB::bind_method(D_METHOD("get_current_length"), &AnimationNodeStateMachinePlayback::get_current_length);
ClassDB::bind_method(D_METHOD("get_travel_path"), &AnimationNodeStateMachinePlayback::get_travel_path);
}