Prechádzať zdrojové kódy

Merge pull request #4319 from kubecz3k/played_signal

animation_started signal for AnimationPlayer
Rémi Verschelde 9 rokov pred
rodič
commit
6b41544a39

+ 3 - 0
scene/animation/animation_player.cpp

@@ -1012,6 +1012,8 @@ void AnimationPlayer::play(const StringName& p_name, float p_custom_blend, float
 		queued.clear();
 	_set_process(true); // always process when starting an animation
 	playing = true;
+	
+	emit_signal(SceneStringNames::get_singleton()->animation_started, c.assigned);
 
 	if (is_inside_tree() &&  get_tree()->is_editor_hint())
 		return; // no next in this case
@@ -1347,6 +1349,7 @@ void AnimationPlayer::_bind_methods() {
 
 	ADD_SIGNAL( MethodInfo("finished") );
 	ADD_SIGNAL( MethodInfo("animation_changed", PropertyInfo(Variant::STRING,"old_name"), PropertyInfo(Variant::STRING,"new_name")) );
+	ADD_SIGNAL( MethodInfo("animation_started", PropertyInfo(Variant::STRING,"name")) );
 
 	BIND_CONSTANT( ANIMATION_PROCESS_FIXED );
 	BIND_CONSTANT( ANIMATION_PROCESS_IDLE );

+ 1 - 0
scene/scene_string_names.cpp

@@ -52,6 +52,7 @@ SceneStringNames::SceneStringNames() {
 
 	finished=StaticCString::create("finished");
 	animation_changed=StaticCString::create("animation_changed");
+	animation_started=StaticCString::create("animation_started");
 
 	mouse_enter=StaticCString::create("mouse_enter");
 	mouse_exit=StaticCString::create("mouse_exit");

+ 1 - 0
scene/scene_string_names.h

@@ -79,6 +79,7 @@ public:
 
 	StringName finished;
 	StringName animation_changed;
+	StringName animation_started;
 
 	StringName body_enter_shape;
 	StringName body_enter;