summaryrefslogtreecommitdiff
path: root/scene/animation/tween.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/animation/tween.h')
-rw-r--r--scene/animation/tween.h167
1 files changed, 46 insertions, 121 deletions
diff --git a/scene/animation/tween.h b/scene/animation/tween.h
index 07c2e90da2..84f866f43e 100644
--- a/scene/animation/tween.h
+++ b/scene/animation/tween.h
@@ -31,10 +31,9 @@
#include "scene/main/node.h"
-
class Tween : public Node {
- GDCLASS( Tween, Node );
+ GDCLASS(Tween, Node);
public:
enum TweenProcessMode {
@@ -42,30 +41,30 @@ public:
TWEEN_PROCESS_IDLE,
};
- enum TransitionType {
- TRANS_LINEAR,
- TRANS_SINE,
- TRANS_QUINT,
- TRANS_QUART,
- TRANS_QUAD,
- TRANS_EXPO,
- TRANS_ELASTIC,
- TRANS_CUBIC,
- TRANS_CIRC,
- TRANS_BOUNCE,
- TRANS_BACK,
+ enum TransitionType {
+ TRANS_LINEAR,
+ TRANS_SINE,
+ TRANS_QUINT,
+ TRANS_QUART,
+ TRANS_QUAD,
+ TRANS_EXPO,
+ TRANS_ELASTIC,
+ TRANS_CUBIC,
+ TRANS_CIRC,
+ TRANS_BOUNCE,
+ TRANS_BACK,
TRANS_COUNT,
- };
+ };
- enum EaseType {
- EASE_IN,
- EASE_OUT,
- EASE_IN_OUT,
+ enum EaseType {
+ EASE_IN,
+ EASE_OUT,
+ EASE_IN_OUT,
EASE_OUT_IN,
EASE_COUNT,
- };
+ };
private:
enum InterpolateType {
@@ -117,45 +116,32 @@ private:
};
List<PendingCommand> pending_commands;
- void _add_pending_command(StringName p_key
- ,const Variant& p_arg1=Variant()
- ,const Variant& p_arg2=Variant()
- ,const Variant& p_arg3=Variant()
- ,const Variant& p_arg4=Variant()
- ,const Variant& p_arg5=Variant()
- ,const Variant& p_arg6=Variant()
- ,const Variant& p_arg7=Variant()
- ,const Variant& p_arg8=Variant()
- ,const Variant& p_arg9=Variant()
- ,const Variant& p_arg10=Variant()
- );
+ void _add_pending_command(StringName p_key, const Variant &p_arg1 = Variant(), const Variant &p_arg2 = Variant(), const Variant &p_arg3 = Variant(), const Variant &p_arg4 = Variant(), const Variant &p_arg5 = Variant(), const Variant &p_arg6 = Variant(), const Variant &p_arg7 = Variant(), const Variant &p_arg8 = Variant(), const Variant &p_arg9 = Variant(), const Variant &p_arg10 = Variant());
void _process_pending_commands();
typedef real_t (*interpolater)(real_t t, real_t b, real_t c, real_t d);
static interpolater interpolaters[TRANS_COUNT][EASE_COUNT];
real_t _run_equation(TransitionType p_trans_type, EaseType p_ease_type, real_t t, real_t b, real_t c, real_t d);
- Variant& _get_delta_val(InterpolateData& p_data);
- Variant& _get_initial_val(InterpolateData& p_data);
- Variant _run_equation(InterpolateData& p_data);
- bool _calc_delta_val(const Variant& p_initial_val, const Variant& p_final_val, Variant& p_delta_val);
- bool _apply_tween_value(InterpolateData& p_data, Variant& value);
+ Variant &_get_delta_val(InterpolateData &p_data);
+ Variant &_get_initial_val(InterpolateData &p_data);
+ Variant _run_equation(InterpolateData &p_data);
+ bool _calc_delta_val(const Variant &p_initial_val, const Variant &p_final_val, Variant &p_delta_val);
+ bool _apply_tween_value(InterpolateData &p_data, Variant &value);
void _tween_process(float p_delta);
- void _set_process(bool p_process,bool p_force=false);
+ void _set_process(bool p_process, bool p_force = false);
void _remove(Object *p_node, String p_key, bool first_only);
protected:
-
- bool _set(const StringName& p_name, const Variant& p_value);
- bool _get(const StringName& p_name,Variant &r_ret) const;
+ bool _set(const StringName &p_name, const Variant &p_value);
+ bool _get(const StringName &p_name, Variant &r_ret) const;
void _get_property_list(List<PropertyInfo> *p_list) const;
void _notification(int p_what);
static void _bind_methods();
public:
-
bool is_active() const;
void set_active(bool p_active);
@@ -182,89 +168,28 @@ public:
real_t tell() const;
real_t get_runtime() const;
- bool interpolate_property(Object *p_node
- , String p_property
- , Variant p_initial_val
- , Variant p_final_val
- , real_t p_duration
- , TransitionType p_trans_type
- , EaseType p_ease_type
- , real_t p_delay = 0
- );
-
- bool interpolate_method(Object *p_node
- , String p_method
- , Variant p_initial_val
- , Variant p_final_val
- , real_t p_duration
- , TransitionType p_trans_type
- , EaseType p_ease_type
- , real_t p_delay = 0
- );
-
- bool interpolate_callback(Object *p_object
- , real_t p_duration
- , String p_callback
- , VARIANT_ARG_DECLARE
- );
-
- bool interpolate_deferred_callback(Object *p_object
- , real_t p_duration
- , String p_callback
- , VARIANT_ARG_DECLARE
- );
-
- bool follow_property(Object *p_node
- , String p_property
- , Variant p_initial_val
- , Object *p_target
- , String p_target_property
- , real_t p_duration
- , TransitionType p_trans_type
- , EaseType p_ease_type
- , real_t p_delay = 0
- );
-
- bool follow_method(Object *p_node
- , String p_method
- , Variant p_initial_val
- , Object *p_target
- , String p_target_method
- , real_t p_duration
- , TransitionType p_trans_type
- , EaseType p_ease_type
- , real_t p_delay = 0
- );
-
- bool targeting_property(Object *p_node
- , String p_property
- , Object *p_initial
- , String p_initial_property
- , Variant p_final_val
- , real_t p_duration
- , TransitionType p_trans_type
- , EaseType p_ease_type
- , real_t p_delay = 0
- );
-
- bool targeting_method(Object *p_node
- , String p_method
- , Object *p_initial
- , String p_initial_method
- , Variant p_final_val
- , real_t p_duration
- , TransitionType p_trans_type
- , EaseType p_ease_type
- , real_t p_delay = 0
- );
+ bool interpolate_property(Object *p_node, String p_property, Variant p_initial_val, Variant p_final_val, real_t p_duration, TransitionType p_trans_type, EaseType p_ease_type, real_t p_delay = 0);
+
+ bool interpolate_method(Object *p_node, String p_method, Variant p_initial_val, Variant p_final_val, real_t p_duration, TransitionType p_trans_type, EaseType p_ease_type, real_t p_delay = 0);
+
+ bool interpolate_callback(Object *p_object, real_t p_duration, String p_callback, VARIANT_ARG_DECLARE);
+
+ bool interpolate_deferred_callback(Object *p_object, real_t p_duration, String p_callback, VARIANT_ARG_DECLARE);
+
+ bool follow_property(Object *p_node, String p_property, Variant p_initial_val, Object *p_target, String p_target_property, real_t p_duration, TransitionType p_trans_type, EaseType p_ease_type, real_t p_delay = 0);
+
+ bool follow_method(Object *p_node, String p_method, Variant p_initial_val, Object *p_target, String p_target_method, real_t p_duration, TransitionType p_trans_type, EaseType p_ease_type, real_t p_delay = 0);
+
+ bool targeting_property(Object *p_node, String p_property, Object *p_initial, String p_initial_property, Variant p_final_val, real_t p_duration, TransitionType p_trans_type, EaseType p_ease_type, real_t p_delay = 0);
+
+ bool targeting_method(Object *p_node, String p_method, Object *p_initial, String p_initial_method, Variant p_final_val, real_t p_duration, TransitionType p_trans_type, EaseType p_ease_type, real_t p_delay = 0);
Tween();
~Tween();
};
-VARIANT_ENUM_CAST( Tween::TweenProcessMode );
-VARIANT_ENUM_CAST( Tween::TransitionType );
-VARIANT_ENUM_CAST( Tween::EaseType );
+VARIANT_ENUM_CAST(Tween::TweenProcessMode);
+VARIANT_ENUM_CAST(Tween::TransitionType);
+VARIANT_ENUM_CAST(Tween::EaseType);
#endif
-