summaryrefslogtreecommitdiff
path: root/scene/main/node.h
diff options
context:
space:
mode:
authorTomasz Chabora <kobewi4e@gmail.com>2020-09-05 03:05:30 +0200
committerkobewi <kobewi4e@gmail.com>2021-06-19 12:08:50 +0200
commit900b2e0fdcc12d28a744ae36004b9b2dc7f196d1 (patch)
treecce0d2056f87c504b081ddfd2fc9dc7614d2c608 /scene/main/node.h
parent12e0f10c74e9619262f1edcfdc1840432ada0565 (diff)
Complete rewrite of Tweens
* Tweens were changed from Node to RefCounted. New API is inspired by DOTween. * Tweens are created and managed by SceneTree, similar to SceneTreeTimer, which makes them ultra cheap to use a lot. * Animating with Tweens is done by creating sequences of Tweeners. You create them from code and they autostart by default (fire-and-forget). * There are 4 Tweeners that cover the former Tween functionality: PropertyTweener, IntervalTweener, CallbackTweener and MethodTweener. * The methods were simplified a lot. Long argument lists are replaced with chained calls on Tweens and Tweeners. * Tweeners by default execute in sequence, so it's easy to create complex chained animations. * You can bind a Tween to a node. Tween will be removed automatically when the bound node is freed.
Diffstat (limited to 'scene/main/node.h')
-rw-r--r--scene/main/node.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/scene/main/node.h b/scene/main/node.h
index e7b36f351b..0d1685a2be 100644
--- a/scene/main/node.h
+++ b/scene/main/node.h
@@ -41,6 +41,9 @@
class Viewport;
class SceneState;
+class Tween;
+class PropertyTweener;
+
class Node : public Object {
GDCLASS(Node, Object);
OBJ_CATEGORY("Nodes");
@@ -308,6 +311,8 @@ public:
void remove_and_skip();
int get_index() const;
+ Ref<Tween> create_tween();
+
void print_tree();
void print_tree_pretty();