UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneEvalTemplateBase.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "MovieSceneEvalTemplateBase.generated.h"
9
10
13
14
16USTRUCT()
21
25USTRUCT()
27{
28public:
29
31
32
36 : OverrideMask(0)
37 {
38 }
39
44
48 UScriptStruct& GetScriptStruct() const { return GetScriptStructImpl(); }
49
53 inline bool RequiresSetup() const { return (OverrideMask & RequiresSetupFlag) != 0; }
54
58 inline bool RequiresTearDown() const { return (OverrideMask & RequiresTearDownFlag) != 0; }
59
67 {
68 if (RequiresSetup())
69 {
70 Setup(PersistentData, Player);
71 }
72 }
73
81 {
82 if (RequiresTearDown())
83 {
84 TearDown(PersistentData, Player);
85 }
86 }
87
94 virtual void SetupOverrides()
95 {
96 }
97
98protected:
99
108 {
109 ensureMsgf(false, TEXT("FMovieSceneEvalTemplateBase::Setup has not been implemented. Did you erroneously call EnableOverrides(RequiresSetupFlag)?"));
110 }
111
120 {
121 ensureMsgf(false, TEXT("FMovieSceneEvalTemplateBase::TearDown has not been implemented. Did you erroneously call EnableOverrides(RequiresTearDownFlag)?"));
122 }
123
128 {
129 ensureMsgf(false, TEXT("GetScriptStructImpl has not been implemented. This type will not serialize correctly."));
130 return *StaticStruct();
131 }
132
133protected:
134
139 {
140 OverrideMask |= OverrideFlag;
141 }
142
145 {
146 RequiresSetupFlag = 0x001,
147 RequiresTearDownFlag = 0x002,
148 };
149
152};
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
UScriptStruct * StaticStruct()
Definition ReflectedTypeAccessors.h:18
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition IMovieScenePlayer.h:90
Definition Class.h:1720
Definition MovieSceneEvalTemplateBase.h:18
Definition MovieSceneEvalTemplateBase.h:27
void OnEndEvaluation(FPersistentEvaluationData &PersistentData, IMovieScenePlayer &Player) const
Definition MovieSceneEvalTemplateBase.h:80
virtual void Setup(FPersistentEvaluationData &PersistentData, IMovieScenePlayer &Player) const
Definition MovieSceneEvalTemplateBase.h:107
virtual UScriptStruct & GetScriptStructImpl() const
Definition MovieSceneEvalTemplateBase.h:127
void OnBeginEvaluation(FPersistentEvaluationData &PersistentData, IMovieScenePlayer &Player) const
Definition MovieSceneEvalTemplateBase.h:66
bool RequiresTearDown() const
Definition MovieSceneEvalTemplateBase.h:58
UScriptStruct & GetScriptStruct() const
Definition MovieSceneEvalTemplateBase.h:48
virtual ~FMovieSceneEvalTemplateBase()
Definition MovieSceneEvalTemplateBase.h:43
bool RequiresSetup() const
Definition MovieSceneEvalTemplateBase.h:53
virtual void SetupOverrides()
Definition MovieSceneEvalTemplateBase.h:94
EOverrideMask
Definition MovieSceneEvalTemplateBase.h:145
uint8 OverrideMask
Definition MovieSceneEvalTemplateBase.h:151
void EnableOverrides(uint8 OverrideFlag)
Definition MovieSceneEvalTemplateBase.h:138
virtual void TearDown(FPersistentEvaluationData &PersistentData, IMovieScenePlayer &Player) const
Definition MovieSceneEvalTemplateBase.h:119
Definition PersistentEvaluationData.h:91