UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StateStreamCreator.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6
7#define UE_API STATESTREAM_API
8
11class IStateStream;
12
14
23
25
30
32
34{
35public:
38
41
42 // Called by system owning StateStreamManager
45
46private:
48 FStateStreamCreator& operator=(const FStateStreamCreator&) = delete;
49
50 FRegisterFunction RegisterFunction;
51 FUnregisterFunction UnregisterFunction;
52
53 static FStateStreamCreator* First;
56 uint32 Id;
57};
58
60
61#define STATESTREAM_CREATOR_INSTANCE(ImplName) \
62 FStateStreamCreator ImplName##Creator(ImplName::Id, \
63 [](const FStateStreamRegisterContext& Context) \
64 { ImplName& Impl = *new ImplName(*Context.Scene); Context.Register(Impl, true); }, \
65 [](const FStateStreamUnregisterContext& Context) {});
66
67#define STATESTREAM_CREATOR_INSTANCE_WITH_DEPENDENCY(ImplName, ToId) \
68 FStateStreamCreator ImplName##Creator(ImplName::Id, \
69 [](const FStateStreamRegisterContext& Context) \
70 { ImplName& Impl = *new ImplName(*Context.Scene); Context.Register(Impl, true); Context.RegisterDependency(ImplName::Id, ToId); }, \
71 [](const FStateStreamUnregisterContext& Context) {});
72
73#define STATESTREAM_CREATOR_INSTANCE_WITH_FUNC(ImplName, ...) \
74 FStateStreamCreator ImplName##Creator(ImplName::Id, \
75 [](const FStateStreamRegisterContext& Context) \
76 { ImplName& Impl = *new ImplName(*Context.Scene); Context.Register(Impl, true); __VA_ARGS__(Context, Impl); }, \
77 [](const FStateStreamUnregisterContext& Context) {});
78
80
81#undef UE_API
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_API
Definition StateStreamCreator.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition SceneInterface.h:106
Definition StateStreamCreator.h:34
static UE_API void UnregisterStateStreams(const FStateStreamUnregisterContext &)
Definition StateStreamManagerImpl.cpp:207
UE_API ~FStateStreamCreator()
Definition StateStreamManagerImpl.cpp:179
static UE_API void RegisterStateStreams(const FStateStreamRegisterContext &)
Definition StateStreamManagerImpl.cpp:199
Definition StateStreamManagerImpl.h:16
Definition StateStream.h:14
Definition StateStream.Build.cs:6
Definition StateStreamCreator.h:16
UE_API void RegisterDependency(uint32 FromId, uint32 ToId) const
Definition StateStreamManagerImpl.cpp:220
FStateStreamManagerImpl & Manager
Definition StateStreamCreator.h:17
FSceneInterface * Scene
Definition StateStreamCreator.h:18
Definition StateStreamCreator.h:27
FStateStreamManagerImpl & Manager
Definition StateStreamCreator.h:28