UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IMovieScenePlaybackCapability.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
7#include "CoreTypes.h"
10#include "Misc/EnumClassFlags.h"
12
15
16namespace UE::MovieScene
17{
18
19struct FInstanceHandle;
20struct FSharedPlaybackState;
21
26{
28
29 bool IsValid() const
30 {
31 return Index != INDEX_NONE;
32 }
33
34protected:
36};
37
44template<typename T>
46{
47public:
48 using CapabilityType = T;
49
50private:
51 // Only T should construct this (to ensure safe construction over DLL boundaries)
52 friend T;
53
55 {}
56
59 {}
60
61 UE_DEPRECATED(5.6, "Use the version that takes a debug name. If defining a static ID field, please upgrade to UE_DECLARE_MOVIESCENE_PLAYBACK_CAPABILITY_API and UE_DEFINE_MOVIESCENE_PLAYBACK_CAPABILITY instead.")
62 static TPlaybackCapabilityID<T> Register()
63 {
64 return TPlaybackCapabilityID<T>::Register(TEXT("Unknown"));
65 }
66
68 {
71 }
72};
73
88
93{
94#if UE_MOVIESCENE_ENTITY_DEBUG
96 FString DebugName;
97#endif
98};
99
117
119
120#if UE_MOVIESCENE_ENTITY_DEBUG
121
127{
129 void* Ptr = nullptr;
130};
131
135template<typename T>
137{
139 {
140 static_assert(sizeof(TPlaybackCapabilityDebuggingTypedPtr) == sizeof(IPlaybackCapabilityDebuggingTypedPtr), "Size must match");
141 Ptr = InPtr;
142 }
143};
144
145#endif
146
147#define UE_DECLARE_MOVIESCENE_PLAYBACK_CAPABILITY_API(ApiDeclSpec, ClassName)\
148 static ApiDeclSpec UE::MovieScene::TPlaybackCapabilityID<ClassName> GetPlaybackCapabilityID();\
149
150#define UE_DECLARE_MOVIESCENE_PLAYBACK_CAPABILITY(ClassName)\
151 static UE::MovieScene::TPlaybackCapabilityID<ClassName> GetPlaybackCapabilityID();\
152
153#define UE_DEFINE_MOVIESCENE_PLAYBACK_CAPABILITY(ClassName)\
154 UE::MovieScene::TPlaybackCapabilityID<ClassName> ClassName::GetPlaybackCapabilityID()\
155 {\
156 static UE::MovieScene::TPlaybackCapabilityID<ClassName> StaticID = \
157 UE::MovieScene::TPlaybackCapabilityID<ClassName>::Register(TEXT(#ClassName));\
158 return StaticID;\
159 }
160
161} // namespace UE::MovieScene
162
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
FRDGImportedBuffer Register(FRDGBuilder &GraphBuilder, const FRDGExternalBuffer &In, ERDGImportedBufferFlags Flags, ERDGUnorderedAccessViewFlags UAVFlags)
Definition HairStrandsInterface.cpp:94
Definition IMovieScenePlayer.h:90
Definition Array.h:670
Definition SharedPointer.h:153
Definition IMovieScenePlaybackCapability.h:104
static MOVIESCENE_API FPlaybackCapabilityIDRegistry * Get()
Definition IMovieScenePlaybackCapability.cpp:16
MOVIESCENE_API FPlaybackCapabilityID RegisterNewID(const TCHAR *InDebugName)
Definition IMovieScenePlaybackCapability.cpp:22
Definition MovieSceneEntitySystemLinker.h:113
Definition Linker.cpp:38
Definition ConstraintsManager.h:14
FPlaybackCapabilityIDRegistry * GPlaybackCapabilityIDRegistryForDebuggingVisualizers
Definition IMovieScenePlaybackCapability.cpp:9
U16 Index
Definition radfft.cpp:71
Definition MovieSceneSequenceInstanceHandle.h:15
Definition IMovieScenePlaybackCapability.h:93
Definition IMovieScenePlaybackCapability.h:26
bool IsValid() const
Definition IMovieScenePlaybackCapability.h:29
static MOVIESCENE_API FPlaybackCapabilityID Register(const TCHAR *InDebugName)
Definition IMovieScenePlaybackCapability.cpp:11
Definition IMovieScenePlaybackCapability.h:78
virtual void InvalidateCachedData(UMovieSceneEntitySystemLinker *Linker)
Definition IMovieScenePlaybackCapability.h:86
virtual void Initialize(TSharedRef< const FSharedPlaybackState > Owner)
Definition IMovieScenePlaybackCapability.h:82
virtual void OnSubInstanceCreated(TSharedRef< const FSharedPlaybackState > Owner, const FInstanceHandle InstanceHandle)
Definition IMovieScenePlaybackCapability.h:84
virtual ~IPlaybackCapability()
Definition IMovieScenePlaybackCapability.h:79
Definition IMovieScenePlaybackCapability.h:46
T CapabilityType
Definition IMovieScenePlaybackCapability.h:48