Browse Source

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`
Eoin O'Neill 5 years ago
parent
commit
674fb52f52

+ 7 - 0
doc/classes/AnimationNodeStateMachinePlayback.xml

@@ -35,6 +35,13 @@
 				Returns the current travel path as computed internally by the A* algorithm.
 				Returns the current travel path as computed internally by the A* algorithm.
 			</description>
 			</description>
 		</method>
 		</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">
 		<method name="is_playing" qualifiers="const">
 			<return type="bool">
 			<return type="bool">
 			</return>
 			</return>

+ 2 - 0
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("stop"), &AnimationNodeStateMachinePlayback::stop);
 	ClassDB::bind_method(D_METHOD("is_playing"), &AnimationNodeStateMachinePlayback::is_playing);
 	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_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);
 	ClassDB::bind_method(D_METHOD("get_travel_path"), &AnimationNodeStateMachinePlayback::get_travel_path);
 }
 }