Fix and make Tween node less confusing
I've made the following changes:
- make
is_active
the main way of keeping track of tween processing/activity, meaning thatis_active
will now returnfalse
if all tween actions have finished or if it isn't started or if it was stopped viaset_active(false)
or any other mode - removed
is_stopped
because is redundant now -
tell()
now reports correct values
The above meant that we don't have to keep track of yet another variable
available
since everything is based on *processing_internal
so I
removed it, likewise it's own local processing
variable was removed,
as well as the "double" _set_process
which it feels more like a hack.
What wasn't changed:
- tell()
still returns max value (i.e. == get_runtime()
when all tweens finish
)
More testing is needed. So far I've tested repeat on/off, delay,
is_active()
working corretly, set_active(true), set_active(false)
,
but probably more tests are necessary, all the resets, stops, resume
etc.
Bugsquad edit: fixes #19779 (closed)