Improve and clarify paused Tweens

(cherry picked from commit dbecf8bd1a)
This commit is contained in:
kobewi 2023-07-25 13:29:30 +02:00 committed by Yuri Sizov
parent 77f6d00ad8
commit f7d1f9e25b
2 changed files with 6 additions and 4 deletions

View File

@ -206,6 +206,7 @@
<return type="void" />
<description>
Pauses the tweening. The animation can be resumed by using [method play].
[b]Note:[/b] If a Tween is paused and not bound to any node, it will exist indefinitely until manually started or invalidated. If you lose a reference to such Tween, you can retrieve it using [method SceneTree.get_processed_tweens].
</description>
</method>
<method name="play">
@ -273,6 +274,7 @@
<return type="void" />
<description>
Stops the tweening and resets the [Tween] to its initial state. This will not remove any appended [Tweener]s.
[b]Note:[/b] If a Tween is stopped and not bound to any node, it will exist indefinitely until manually started or invalidated. If you lose a reference to such Tween, you can retrieve it using [method SceneTree.get_processed_tweens].
</description>
</method>
<method name="tween_callback">

View File

@ -284,10 +284,6 @@ bool Tween::step(double p_delta) {
return false;
}
if (!running) {
return true;
}
if (is_bound) {
Node *node = get_bound_node();
if (node) {
@ -299,6 +295,10 @@ bool Tween::step(double p_delta) {
}
}
if (!running) {
return true;
}
if (!started) {
if (tweeners.is_empty()) {
String tween_id;