5#include "CoreMinimal.h"
6#include "QuickTweenBase.h"
7#include "QuickIntTween.generated.h"
10DECLARE_DELEGATE_RetVal_OneParam(int32, FNativeIntGetter,
UQuickIntTween*);
11DECLARE_DELEGATE_TwoParams( FNativeIntSetter,
const int32,
UQuickIntTween* );
21 UQuickIntTween() =
default;
27 const UObject* worldContextObject,
28 FNativeIntGetter from,
30 FNativeIntSetter setter,
31 float duration = 1.0f,
32 float timeScale = 1.0f,
33 EEaseType easeType = EEaseType::Linear,
34 UCurveFloat* easeCurve =
nullptr,
36 ELoopType loopType = ELoopType::Restart,
37 const FString& tweenTag = FString(),
38 bool bShouldAutoKill =
true,
39 bool bShouldPlayWhilePaused =
false,
40 bool bShouldAutoPlay =
false)
42 From = MoveTemp(from);
44 Setter = MoveTemp(setter);
55 bShouldPlayWhilePaused,
82 UObject* worldContextObject,
83 FNativeIntGetter from,
85 FNativeIntSetter setter,
86 float duration = 1.0f,
87 float timeScale = 1.0f,
88 EEaseType easeType = EEaseType::Linear,
89 UCurveFloat* easeCurve =
nullptr,
91 ELoopType loopType = ELoopType::Restart,
92 const FString& tweenTag = FString(),
93 bool bShouldAutoKill =
true,
94 bool bShouldPlayWhilePaused =
false,
95 bool bShouldAutoPlay =
false)
97 if (!from.IsBound() || !to.IsBound() || !setter.IsBound())
99 UE_LOG(LogQuickTweenBase, Warning, TEXT(
"UQuickIntTween::CreateTween: One or more delegate functions are not bound."));
103 UQuickIntTween* tween = NewObject<UQuickIntTween>(worldContextObject);
117 bShouldPlayWhilePaused,
123 UFUNCTION(BlueprintPure, meta = (Keywords =
"Tween"), Category=
"Tween|Info")
127 UFUNCTION(BlueprintCallable, meta = (Keywords =
"Tween"), Category=
"Tween|Info")
131 UFUNCTION(BlueprintPure, meta = (Keywords =
"Tween"), Category=
"Tween|Info")
132 [[nodiscard]] int32
GetEndValue()
const {
return EndValue.Get(0); }
142 FNativeIntGetter From;
148 TOptional<int32> StartValue;
151 TOptional<int32> EndValue;
154 FNativeIntSetter Setter;
157 int32 CurrentValue = 0;
Definition QuickIntTween.h:18
virtual void HandleOnComplete() override
Definition QuickIntTween.cpp:48
int32 GetEndValue() const
Definition QuickIntTween.h:132
virtual void HandleOnStart() override
Definition QuickIntTween.cpp:21
int32 GetCurrentValue() const
Definition QuickIntTween.h:124
int32 GetStartValue() const
Definition QuickIntTween.h:128
static UQuickIntTween * CreateTween(UObject *worldContextObject, FNativeIntGetter from, FNativeIntGetter to, FNativeIntSetter setter, float duration=1.0f, float timeScale=1.0f, EEaseType easeType=EEaseType::Linear, UCurveFloat *easeCurve=nullptr, int32 loops=1, ELoopType loopType=ELoopType::Restart, const FString &tweenTag=FString(), bool bShouldAutoKill=true, bool bShouldPlayWhilePaused=false, bool bShouldAutoPlay=false)
Definition QuickIntTween.h:81
virtual void ApplyAlphaValue(float alpha) override
Definition QuickIntTween.cpp:8
Definition QuickTweenBase.h:26
void SetUp(const UObject *worldContextObject, float duration, float timeScale, EEaseType easeType, UCurveFloat *easeCurve, int32 loops, ELoopType loopType, const FString &tweenTag=FString(), bool bShouldAutoKill=true, bool bShouldPlayWhilePaused=false, bool bShouldAutoPlay=false)
Definition QuickTweenBase.cpp:20