UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneBlendingActuator.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"
6#include "MovieSceneFwd.h"
7#include "UObject/ObjectKey.h"
8#include "IMovieScenePlayer.h"
11
12class UObject;
13
14template<typename DataType> struct TBlendableTokenStack;
15
19struct IMovieSceneBlendingActuator : TSharedFromThis<IMovieSceneBlendingActuator>
20{
22
27
32 virtual void RemoveInitialValueForObject(FObjectKey InObject) = 0;
33};
34
38template<typename DataType>
40{
41public:
42
54
64
72 virtual DataType RetrieveCurrentValue(UObject* InObject, IMovieScenePlayer* Player) const = 0;
73
79 {
80 InitialValues.RemoveAll([=](const FInitialValue& In) { return In.Object == ObjectToRemove; });
81 }
82
87 {
88 return ActuatorID;
89 }
90
94 bool HasInitialValue(FObjectKey InObject) const
95 {
96 for (const auto& InitialValue : InitialValues)
97 {
98 if (InitialValue.Object == InObject)
99 {
100 return true;
101 }
102 }
103 return false;
104 }
105
106protected:
107
112
113private:
114
118 virtual FMovieSceneAnimTypeID GetDataTypeID() const final
119 {
121 }
122
123 friend struct TMovieSceneInitialValueStore<DataType>;
124
125 struct FInitialValue
126 {
127 FInitialValue(FObjectKey InObject, const DataType& InValue) : Object(InObject), Value(InValue) {}
128
130 DataType Value;
131 };
132
134 TArray<FInitialValue> InitialValues;
135
138};
139
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition IMovieScenePlayer.h:90
Definition Array.h:670
SizeType RemoveAll(const PREDICATE_CLASS &Predicate)
Definition Array.h:3108
Definition SharedPointer.h:1640
Definition Object.h:95
@ Object
Definition TokenizedMessage.h:43
Definition MovieSceneAnimTypeID.h:20
Definition MovieSceneBlendingActuatorID.h:8
Definition MovieScenePlayback.h:184
Definition MovieSceneTemplateInterrogation.h:70
Definition ObjectKey.h:19
Definition PersistentEvaluationData.h:91
Definition MovieSceneBlendingActuator.h:20
virtual FMovieSceneAnimTypeID GetDataTypeID() const =0
virtual ~IMovieSceneBlendingActuator()
Definition MovieSceneBlendingActuator.h:21
virtual void RemoveInitialValueForObject(FObjectKey InObject)=0
Definition BlendableTokenStack.h:83
TCallTraitsParamTypeHelper< T, PassByValue >::ParamType ParamType
Definition UnrealTypeTraits.h:275
Definition MovieSceneBlendingActuator.h:40
virtual void Actuate(UObject *InObject, typename TCallTraits< DataType >::ParamType InValue, const TBlendableTokenStack< DataType > &OriginalStack, const FMovieSceneContext &Context, FPersistentEvaluationData &PersistentData, IMovieScenePlayer &Player)=0
virtual void Actuate(FMovieSceneInterrogationData &InterrogationData, typename TCallTraits< DataType >::ParamType InValue, const TBlendableTokenStack< DataType > &OriginalStack, const FMovieSceneContext &Context) const
Definition MovieSceneBlendingActuator.h:63
virtual void RemoveInitialValueForObject(FObjectKey ObjectToRemove) override
Definition MovieSceneBlendingActuator.h:78
FMovieSceneBlendingActuatorID GetActuatorID() const
Definition MovieSceneBlendingActuator.h:86
TMovieSceneBlendingActuator(FMovieSceneBlendingActuatorID InActuatorID)
Definition MovieSceneBlendingActuator.h:109
virtual DataType RetrieveCurrentValue(UObject *InObject, IMovieScenePlayer *Player) const =0
bool HasInitialValue(FObjectKey InObject) const
Definition MovieSceneBlendingActuator.h:94
Definition MovieSceneInitialValueStore.h:49