5#include "Containers/Array.h"
8#include "Containers/Map.h"
26#define UE_API MOVIESCENE_API
39 struct FInstanceHandle;
40 struct FSharedPlaybackState;
85 friend class ::IMovieScenePlayer;
241 bool InvalidateIfValidInternal(
const FGuid&
InGuid);
246 void UpdateSerialNumber();
262 template<
typename ValueType>
263 struct TFastGuidKeyFuncs :
BaseKeyFuncs<TPair<FGuid,ValueType>,FGuid,false>
268 static inline KeyInitType GetSetKey(ElementInitType Element)
272 static inline bool Matches(KeyInitType
A,KeyInitType
B)
276 static inline uint32 GetKeyHash(KeyInitType Key)
300 bool bReentrantUpdate =
false;
375 if (FVersionedObjectCache* Cache = ObjectCaches.Find(SequenceID))
377 return &Cache->ObjectCache;
389 if (
const FVersionedObjectCache* Cache = ObjectCaches.Find(SequenceID))
391 return &Cache->ObjectCache;
403 FVersionedObjectCache* Cache = ObjectCaches.Find(SequenceID);
406 Cache = &ObjectCaches.Add(SequenceID, FVersionedObjectCache());
408 return Cache->ObjectCache;
425 return Cache->FindBoundObjects(ObjectBindingID, SharedPlaybackState);
511 struct FVersionedObjectCache
515 uint32 LastKnownSerial = 0;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_DECLARE_MOVIESCENE_PLAYBACK_CAPABILITY_API(ApiDeclSpec, ClassName)
Definition IMovieScenePlaybackCapability.h:147
TCallTraits< FMovieSceneSequenceID >::ParamType FMovieSceneSequenceIDRef
Definition MovieSceneSequenceID.h:93
#define UE_API
Definition SColorGradingComponentViewer.h:12
Definition IDelegateInstance.h:14
Definition IMovieScenePlayer.h:90
Definition ArrayView.h:139
Definition UnrealString.h.inl:34
Definition SharedPointer.h:153
Definition ContainerAllocationPolicies.h:894
Definition MovieSceneEntitySystemLinker.h:113
Definition MovieSceneSequence.h:73
@ Element
Definition Visu.h:18
Definition ConstraintsManager.h:14
VERSECOMPILER_API bool Matches(const CTypeBase *PositiveType1, const CTypeBase *NegativeType2, const uint32_t UploadedAtFnVersion)
Determine if argument PositiveType1 is a match for parameter NegativeType2
Definition SemanticTypes.cpp:2971
Definition SetUtilities.h:23
Definition MovieSceneEvaluationKey.h:13
Definition MovieSceneEvaluationOperand.h:15
FMovieSceneSequenceID SequenceID
Definition MovieSceneEvaluationOperand.h:59
FGuid ObjectBindingID
Definition MovieSceneEvaluationOperand.h:55
Definition MovieSceneEvaluationState.h:307
MOVIESCENE_API void SetBindingActivation(const FGuid &InGuid, FMovieSceneSequenceIDRef InSequenceID, bool bActive)
Definition MovieSceneEvaluationState.cpp:640
MOVIESCENE_API UMovieSceneSequence * FindSequence(FMovieSceneSequenceIDRef InSequenceID) const
Definition MovieSceneEvaluationState.cpp:658
const FMovieSceneObjectCache * FindObjectCache(FMovieSceneSequenceIDRef SequenceID) const
Definition MovieSceneEvaluationState.h:387
MOVIESCENE_API void InvalidateExpiredObjects()
Definition MovieSceneEvaluationState.cpp:613
MOVIESCENE_API void AssignSequence(FMovieSceneSequenceIDRef InSequenceID, UMovieSceneSequence &InSequence, TSharedRef< const FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneEvaluationState.cpp:653
MOVIESCENE_API bool GetBindingActivation(const FGuid &InGuid, FMovieSceneSequenceIDRef InSequenceID) const
Definition MovieSceneEvaluationState.cpp:631
MOVIESCENE_API FMovieSceneSequenceID FindSequenceId(UMovieSceneSequence *InSequence) const
Definition MovieSceneEvaluationState.cpp:669
TArrayView< TWeakObjectPtr<> > FindBoundObjects(const FMovieSceneEvaluationOperand &Operand, TSharedRef< const FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneEvaluationState.h:439
virtual MOVIESCENE_API void OnSubInstanceCreated(TSharedRef< const FSharedPlaybackState > Owner, const UE::MovieScene::FInstanceHandle InstanceHandle) override
Definition MovieSceneEvaluationState.cpp:727
FMovieSceneObjectCache & GetObjectCache(FMovieSceneSequenceIDRef SequenceID)
Definition MovieSceneEvaluationState.h:401
MOVIESCENE_API uint32 GetSerialNumber()
Definition MovieSceneEvaluationState.cpp:704
FMovieSceneObjectCache * FindObjectCache(FMovieSceneSequenceIDRef SequenceID)
Definition MovieSceneEvaluationState.h:373
MOVIESCENE_API void ClearObjectCaches(TSharedRef< const FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneEvaluationState.cpp:645
TMap< FSharedPersistentDataKey, TUniquePtr< IPersistentEvaluationData > > PersistentSharedData
Definition MovieSceneEvaluationState.h:485
TArrayView< TWeakObjectPtr<> > FindBoundObjects(const FGuid &ObjectBindingID, FMovieSceneSequenceIDRef SequenceID, TSharedRef< const FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneEvaluationState.h:420
TMap< FMovieSceneEvaluationKey, TUniquePtr< IPersistentEvaluationData > > PersistentEntityData
Definition MovieSceneEvaluationState.h:482
MOVIESCENE_API FGuid FindCachedObjectId(UObject &Object, FMovieSceneSequenceIDRef InSequenceID, TSharedRef< const FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneEvaluationState.cpp:688
MOVIESCENE_API void FilterObjectBindings(UObject *PredicateObject, TSharedRef< const FSharedPlaybackState > SharedPlaybackState, TArray< FMovieSceneObjectBindingID > *OutBindings)
Definition MovieSceneEvaluationState.cpp:694
MOVIESCENE_API FGuid FindObjectId(UObject &Object, FMovieSceneSequenceIDRef InSequenceID, TSharedRef< const FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneEvaluationState.cpp:682
Definition MovieSceneObjectBindingID.h:203
Definition MovieSceneEvaluationState.h:94
DECLARE_MULTICAST_DELEGATE_OneParam(FOnBindingInvalidated, const FGuid &)
MOVIESCENE_API void SetSequence(UMovieSceneSequence &InSequence, FMovieSceneSequenceIDRef InSequenceID, TSharedRef< const FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneEvaluationState.cpp:348
uint32 GetSerialNumber() const
Definition MovieSceneEvaluationState.h:202
MOVIESCENE_API FGuid FindObjectId(UObject &InObject, TSharedRef< const FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneEvaluationState.cpp:98
MOVIESCENE_API bool GetBindingActivation(const FGuid &InGuid) const
Definition MovieSceneEvaluationState.cpp:235
MOVIESCENE_API TArrayView< TWeakObjectPtr<> > FindBoundObjects(const FGuid &InBindingID, TSharedRef< const FSharedPlaybackState > InSharedPlaybackState)
Definition MovieSceneEvaluationState.cpp:54
MOVIESCENE_API FGuid FindCachedObjectId(UObject &InObject, TSharedRef< const FSharedPlaybackState > SharedPlaybackState)
Definition MovieSceneEvaluationState.cpp:117
MOVIESCENE_API void InvalidateIfValid(const FGuid &InGuid)
Definition MovieSceneEvaluationState.cpp:226
FOnBindingInvalidated OnBindingInvalidated
Definition MovieSceneEvaluationState.h:100
MOVIESCENE_API TArrayView< const TWeakObjectPtr<> > IterateBoundObjects(const FGuid &InBindingID) const
Definition MovieSceneEvaluationState.cpp:81
MOVIESCENE_API void SetBindingActivation(const FGuid &InGuid, bool bActive)
Definition MovieSceneEvaluationState.cpp:240
UMovieSceneSequence * GetSequence() const
Definition MovieSceneEvaluationState.h:197
void FilterObjectBindings(UObject *PredicateObject, TSharedRef< const FSharedPlaybackState > SharedPlaybackState, TArray< FMovieSceneObjectBindingID > *OutBindings)
Definition MovieSceneEvaluationState.cpp:151
MOVIESCENE_API void InvalidateExpiredObjects()
Definition MovieSceneEvaluationState.cpp:193
Definition MovieSceneSequenceID.h:13
Definition PersistentEvaluationData.h:45
Definition PersistentEvaluationData.h:76
TCallTraits< T >::ParamType ConstInitType
Definition UnrealTypeTraits.h:336
TCallTraits< T >::ConstPointerType ConstPointerType
Definition UnrealTypeTraits.h:337
Definition WeakObjectPtrTemplates.h:25
FORCEINLINE T * Get(bool bEvenIfPendingKill) const
Definition WeakObjectPtrTemplates.h:132
Definition MovieSceneSequenceInstanceHandle.h:15
Definition MovieSceneSharedPlaybackState.h:59
Definition MovieSceneEvaluationState.h:77
virtual UE_API void RemoveBindingOverride(const FMovieSceneEvaluationOperand &InOperand) override
Definition MovieSceneEvaluationState.cpp:37
virtual UE_API FMovieSceneEvaluationOperand * GetBindingOverride(const FMovieSceneEvaluationOperand &InOperand) override
Definition MovieSceneEvaluationState.cpp:27
virtual UE_API void AddBindingOverride(const FMovieSceneEvaluationOperand &InOperand, const FMovieSceneEvaluationOperand &InOverrideOperand) override
Definition MovieSceneEvaluationState.cpp:32
Definition MovieSceneEvaluationState.h:46
virtual void NotifyBindingsChanged()
Definition MovieSceneEvaluationState.h:50
virtual void NotifyBindingUpdate(const FGuid &InBindingId, FMovieSceneSequenceIDRef InSequenceID, TArrayView< TWeakObjectPtr<> > BoundObjects)
Definition MovieSceneEvaluationState.h:53
Definition IMovieScenePlaybackCapability.h:78
Definition MovieSceneEvaluationState.h:60
virtual FMovieSceneEvaluationOperand * GetBindingOverride(const FMovieSceneEvaluationOperand &InOperand)=0
virtual void AddBindingOverride(const FMovieSceneEvaluationOperand &InOperand, const FMovieSceneEvaluationOperand &InOverrideOperand)=0
virtual void RemoveBindingOverride(const FMovieSceneEvaluationOperand &InOperand)=0