UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneTextChannel.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
8
9#if WITH_EDITOR
11#endif
12
13#include "MovieSceneTextChannel.generated.h"
14
15#if WITH_EDITOR
16class UPackage;
17#endif
18
19USTRUCT()
21{
23
25
26#if WITH_EDITOR
27 MOVIESCENETRACKS_API void SetPackage(UPackage* InPackage);
28
30#endif
31
37 {
38 return TMovieSceneChannelData<FText>(&Times, &Values, this, &KeyHandles);
39 }
40
46 {
47 return TMovieSceneChannelData<const FText>(&Times, &Values);
48 }
49
51 {
52 return Times;
53 }
54
56 inline bool HasAnyData() const
57 {
58 return Times.Num() != 0 || bHasDefaultValue == true;
59 }
60
66 MOVIESCENETRACKS_API const FText* Evaluate(FFrameTime InTime) const;
67
74 {
75 check(InTimes.Num() == InValues.Num());
76 Times.Append(InTimes);
77 Values.Append(InValues);
78 }
79
85 {
86 bHasDefaultValue = true;
87 DefaultValue = InDefaultValue;
88 }
89
95 {
96 return bHasDefaultValue ? TOptional<FText>(DefaultValue) : TOptional<FText>();
97 }
98
100 inline void RemoveDefault()
101 {
102 bHasDefaultValue = false;
103 }
104
105 //~ Begin FMovieSceneChannel
110 MOVIESCENETRACKS_API virtual void DeleteKeys(TArrayView<const FKeyHandle> InHandles) override;
111 MOVIESCENETRACKS_API virtual void DeleteKeysFrom(FFrameNumber InTime, bool bDeleteKeysBefore) override;
112 MOVIESCENETRACKS_API virtual void RemapTimes(const UE::MovieScene::IRetimingInterface& Retimer) override;
113 MOVIESCENETRACKS_API virtual TRange<FFrameNumber> ComputeEffectiveRange() const override;
114 MOVIESCENETRACKS_API virtual int32 GetNumKeys() const override;
115 MOVIESCENETRACKS_API virtual void Reset() override;
116 MOVIESCENETRACKS_API virtual void Offset(FFrameNumber DeltaPosition) override;
117 MOVIESCENETRACKS_API virtual void Optimize(const FKeyDataOptimizationParams& InParameters) override;
118 MOVIESCENETRACKS_API virtual void ClearDefault() override;
119 //~ End FMovieSceneChannel
120
121private:
122 UPROPERTY(meta=(KeyTimes))
124
126 UPROPERTY(meta=(KeyValues))
127 TArray<FText> Values;
128
130 UPROPERTY()
131 FText DefaultValue;
132
133 UPROPERTY()
134 bool bHasDefaultValue = false;
135
138 FMovieSceneKeyHandleMap KeyHandles;
139
140#if WITH_EDITOR
143#endif
144};
145
146template<>
148{
149#if WITH_EDITOR
152#endif
153};
154
156{
157 if (const FText* Result = InChannel->Evaluate(InTime))
158 {
159 OutValue = *Result;
160 return true;
161 }
162 return false;
163}
164
166{
167 const FFrameTime FrameTime(InFrameNumber);
168
169 const FText* ExistingValue = Channel->Evaluate(FrameTime);
170
172}
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
bool EvaluateChannel(const FMovieSceneTextChannel *InChannel, FFrameTime InTime, FText &OutValue)
Definition MovieSceneTextChannel.h:155
bool ValueExistsAtTime(const FMovieSceneTextChannel *Channel, FFrameNumber InFrameNumber, const FText &Value)
Definition MovieSceneTextChannel.h:165
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition Text.h:385
CORE_API bool EqualTo(const FText &Other, const ETextComparisonLevel::Type ComparisonLevel=ETextComparisonLevel::Default) const
Definition Text.cpp:1289
Definition ArrayView.h:139
Definition Array.h:670
Definition Range.h:50
COREUOBJECT_API UPackage * GetPackage() const
Definition UObjectBaseUtility.cpp:199
Definition Package.h:216
@ false
Definition radaudio_common.h:23
Definition FrameNumber.h:18
Definition FrameTime.h:16
Definition MovieSceneChannelTraits.h:20
Definition MovieSceneChannel.h:112
Definition MovieSceneChannelData.h:37
Definition MovieSceneTextChannel.h:21
TMovieSceneChannelData< const FText > GetData() const
Definition MovieSceneTextChannel.h:45
bool HasAnyData() const
Definition MovieSceneTextChannel.h:56
void SetDefault(FText InDefaultValue)
Definition MovieSceneTextChannel.h:84
MOVIESCENETRACKS_API const FText * Evaluate(FFrameTime InTime) const
Definition MovieSceneTextChannel.cpp:23
void AddKeys(const TArray< FFrameNumber > &InTimes, const TArray< FText > &InValues)
Definition MovieSceneTextChannel.h:73
void RemoveDefault()
Definition MovieSceneTextChannel.h:100
TMovieSceneChannelData< FText > GetData()
Definition MovieSceneTextChannel.h:36
TOptional< FText > GetDefault() const
Definition MovieSceneTextChannel.h:94
TConstArrayView< FFrameNumber > GetTimes() const
Definition MovieSceneTextChannel.h:50
Definition MovieSceneChannelData.h:259
Definition MovieSceneChannelTraits.h:39
Definition MovieSceneChannelTraits.h:63
Definition Optional.h:131
Definition WeakObjectPtrTemplates.h:25
Definition IMovieSceneRetimingInterface.h:18