Browse Source

Merge pull request #32473 from KoBeWi/seaking_ani

Automatically seek timeline in selected animation
Rémi Verschelde 6 years ago
parent
commit
a737bceb4e

+ 4 - 0
editor/plugins/animation_player_editor_plugin.cpp

@@ -304,6 +304,7 @@ void AnimationPlayerEditor::_animation_selected(int p_which) {
 
 	AnimationPlayerEditor::singleton->get_track_editor()->update_keying();
 	EditorNode::get_singleton()->update_keying();
+	_animation_key_editor_seek(timeline_position, false);
 }
 
 void AnimationPlayerEditor::_animation_new() {
@@ -1072,6 +1073,8 @@ void AnimationPlayerEditor::_animation_key_editor_anim_len_changed(float p_len)
 
 void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos, bool p_drag) {
 
+	timeline_position = p_pos;
+
 	if (!is_visible_in_tree())
 		return;
 	if (!player)
@@ -1753,6 +1756,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
 
 	renaming = false;
 	last_active = false;
+	timeline_position = 0;
 
 	set_process_unhandled_key_input(true);
 

+ 1 - 0
editor/plugins/animation_player_editor_plugin.h

@@ -107,6 +107,7 @@ class AnimationPlayerEditor : public VBoxContainer {
 	UndoRedo *undo_redo;
 	Ref<Texture> autoplay_icon;
 	bool last_active;
+	float timeline_position;
 
 	EditorFileDialog *file;
 	AcceptDialog *accept;