Merge pull request #85681 from KoBeWi/continue_but_not_now

Fix Tween loop initial value
This commit is contained in:
Rémi Verschelde 2023-12-04 23:21:34 +01:00
commit 1d520f5d11
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 9 additions and 5 deletions

View file

@ -549,9 +549,12 @@ void PropertyTweener::start() {
return;
}
if (do_continue && Math::is_zero_approx(delay)) {
initial_val = target_instance->get_indexed(property);
do_continue = false;
if (do_continue) {
if (Math::is_zero_approx(delay)) {
initial_val = target_instance->get_indexed(property);
} else {
do_continue_delayed = true;
}
}
if (relative) {
@ -576,10 +579,10 @@ bool PropertyTweener::step(double &r_delta) {
if (elapsed_time < delay) {
r_delta = 0;
return true;
} else if (do_continue && !Math::is_zero_approx(delay)) {
} else if (do_continue_delayed && !Math::is_zero_approx(delay)) {
initial_val = target_instance->get_indexed(property);
delta_val = Animation::subtract_variant(final_val, initial_val);
do_continue = false;
do_continue_delayed = false;
}
double time = MIN(elapsed_time - delay, duration);

View file

@ -225,6 +225,7 @@ private:
double delay = 0;
bool do_continue = true;
bool do_continue_delayed = false;
bool relative = false;
};