Merge pull request #85681 from KoBeWi/continue_but_not_now
Fix Tween loop initial value
This commit is contained in:
commit
1d520f5d11
2 changed files with 9 additions and 5 deletions
|
@ -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);
|
||||
|
|
|
@ -225,6 +225,7 @@ private:
|
|||
|
||||
double delay = 0;
|
||||
bool do_continue = true;
|
||||
bool do_continue_delayed = false;
|
||||
bool relative = false;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue