QuickTween 1.4.1
Loading...
Searching...
No Matches
CommonValues.h
1// Copyright 2025 Juan Pablo Hernandez Mosti. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "QuickTweenable.h"
6#include "CommonValues.generated.h"
7
8DECLARE_DYNAMIC_DELEGATE_TwoParams(FVectorSetter, const FVector&, value, UQuickTweenable*, tween);
9DECLARE_DYNAMIC_DELEGATE_TwoParams(FRotatorSetter, const FRotator&, value, UQuickTweenable*, tween);
10DECLARE_DYNAMIC_DELEGATE_TwoParams(FFloatSetter, const float, value, UQuickTweenable*, tween);
11DECLARE_DYNAMIC_DELEGATE_TwoParams(FVector2DSetter, const FVector2D&, value, UQuickTweenable*, tween);
12DECLARE_DYNAMIC_DELEGATE_TwoParams(FColorSetter, const FColor&, value, UQuickTweenable*, tween);
13DECLARE_DYNAMIC_DELEGATE_TwoParams(FIntSetter, const int32, value, UQuickTweenable*, tween);
14DECLARE_DYNAMIC_DELEGATE_OneParam(FQuickTweenableAction, UQuickTweenable*, tween);
15DECLARE_DYNAMIC_DELEGATE_OneParam(FQuickConstTweenableAction,const UQuickTweenable*, tween);
16
20UENUM(BlueprintType)
21enum class EQuickTweenSpace : uint8
22{
23 WorldSpace UMETA(DisplayName = "World Space"),
24 LocalSpace UMETA(DisplayName = "Local Space")
25};
26
30UENUM(BlueprintType)
31enum class EQuickTweenState : uint8
32{
33 Idle = 0,
34 Play = 1 << 0,
35 Pause = 1 << 1,
36 Complete = 1 << 2,
37 Kill = 1 << 3,
38};
39
40// Valid state transitions for QuickTweenState
41static TMap<EQuickTweenState, TArray<EQuickTweenState>> ValidTransitions =
42{
43 {EQuickTweenState::Idle, {EQuickTweenState::Play, EQuickTweenState::Kill}},
44 {EQuickTweenState::Play, {EQuickTweenState::Pause, EQuickTweenState::Complete, EQuickTweenState::Kill, EQuickTweenState::Idle}},
45 {EQuickTweenState::Pause, {EQuickTweenState::Play, EQuickTweenState::Complete, EQuickTweenState::Kill, EQuickTweenState::Idle}},
46 {EQuickTweenState::Complete, {EQuickTweenState::Idle, EQuickTweenState::Kill}},
47 {EQuickTweenState::Kill, {}},
48};
49
50// Payload structure for evaluating QuickTweens
52{
53 bool bIsActive;
54 bool bIsReversed;
55 bool bShouldTriggerEvents;
56 float Value;
57};
58
59
60#define INFINITE_LOOPS -1
Definition QuickTweenable.h:24
Definition CommonValues.h:52