Merge pull request #26068 from luizcarlos1405/master

Fix AnimationPlayer jumping to the beggining after ending on editor.
This commit is contained in:
Rémi Verschelde 2019-02-20 22:30:41 +01:00 committed by GitHub
commit 16934c7411
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 4 deletions

View File

@ -938,7 +938,6 @@ void AnimationPlayer::_animation_process(float p_delta) {
} else {
//stop();
playing = false;
playback.current.pos = 0;
_set_process(false);
if (end_notify)
emit_signal(SceneStringNames::get_singleton()->animation_finished, playback.assigned);
@ -1196,9 +1195,14 @@ void AnimationPlayer::play(const StringName &p_name, float p_custom_blend, float
if (c.assigned != name) { // reset
c.current.pos = p_from_end ? c.current.from->animation->get_length() : 0;
} else if (p_from_end && c.current.pos == 0) {
// Animation reset BUT played backwards, set position to the end
c.current.pos = c.current.from->animation->get_length();
} else {
if (p_from_end && c.current.pos == 0) {
// Animation reset BUT played backwards, set position to the end
c.current.pos = c.current.from->animation->get_length();
} else if (!p_from_end && c.current.pos == c.current.from->animation->get_length()) {
// Animation resumed but already ended, set position to the beggining
c.current.pos = 0;
}
}
c.current.speed_scale = p_custom_scale;