瀏覽代碼

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`

(cherry picked from commit 674fb52f52f6592c71de319fb4e3fa52be6c136c)
Eoin O'Neill 5 年之前
父節點
當前提交
650f7c6f35

+ 7 - 0
doc/classes/AnimationNodeStateMachinePlayback.xml

@@ -29,6 +29,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>

+ 2 - 0
scene/animation/animation_node_state_machine.cpp

@@ -506,6 +506,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);
 }