UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ActorDescContainerInstance.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 "Misc/Optional.h"
11#include "ActorDescContainerInstance.generated.h"
12
15class UWorldPartition;
18
19class FActorDescInstanceList : public TActorDescList<FWorldPartitionActorDescInstance> { };
20
21UCLASS(MinimalAPI)
23{
25
26protected:
28#if WITH_EDITORONLY_DATA
29 : bIsInitialized(false)
32#endif
33 {}
34
35#if WITH_EDITOR
37 friend UWorldPartition;
38
39public:
40 struct FInitializeParams
41 {
45 {}
46
47 FInitializeParams& SetParent(const UActorDescContainerInstance* InParentContainerInstance, const FGuid& InContainerActorGuid)
48 {
49 check(InContainerActorGuid.IsValid());
52 return *this;
53 }
54
55 FInitializeParams& SetTransform(const FTransform& InTransform)
56 {
58 return *this;
59 }
60
62 {
63 bShouldRegisterEditorDeletages = bInShouldRegisterEditorDeletages;
64 return *this;
65 }
66
68
70
72 FGuid ContentBundleGuid;
73
75 const UExternalDataLayerAsset* ExternalDataLayerAsset = nullptr;
76
78
80
82 bool bShouldRegisterEditorDeletages = true;
83
84 /* Custom filter function used to filter actors descriptors. */
86
89 };
90
91
94
97
100
103
106
109
110 ENGINE_API virtual void Initialize(const FInitializeParams& InParams);
111 bool IsInitialized() const { return bIsInitialized; }
112 ENGINE_API virtual void Uninitialize();
113
115 ENGINE_API UWorldPartition* GetOuterWorldPartition() const;
116 ENGINE_API const FTransform& GetTransform() const;
117 ENGINE_API const FLinkerInstancingContext* GetInstancingContext() const;
118 const FActorContainerID& GetContainerID() const { return ContainerID; }
120
124 ENGINE_API const UExternalDataLayerAsset* GetExternalDataLayerAsset() const;
125 ENGINE_API bool HasExternalContent() const;
126 ENGINE_API FString GetExternalActorPath() const;
127 ENGINE_API FString GetExternalObjectPath() const;
128
130
134
135 ENGINE_API const FWorldPartitionActorDescInstance* GetActorDescInstanceByPath(const FString& ActorPath) const;
138
139 ENGINE_API bool IsActorDescHandled(const AActor* Actor) const;
140
141 const UActorDescContainer* GetContainer() const { return Container; }
142 UActorDescContainer* GetContainer() { return Container; }
143 uint32 GetActorDescInstanceCount() const { return ActorDescList.Num(); }
144 bool IsEmpty() const { return ActorDescList.IsEmpty(); }
145
147
149
151protected:
152 virtual void RegisterContainer(const FInitializeParams& InParams);
153 virtual void UnregisterContainer();
154 void SetContainer(UActorDescContainer* InContainer) { Container = InContainer; }
155
158
160private:
163
164 void RegisterDelegates();
165 void UnregisterDelegates();
166 bool ShouldRegisterDelegates() const;
167
170
173
178
179 void OnObjectsReplaced(const TMap<UObject*, UObject*>& InOldToNewObjectMap);
181
184
185 friend class UGameFeatureActionConvertContentBundleWorldPartitionBuilder;
186#endif
187
188protected:
189#if WITH_EDITORONLY_DATA
192 TOptional<FLinkerInstancingContext> InstancingContext;
193
194 FActorContainerID ContainerID;
198
201
204
205 bool bIsInitialized;
208#endif
209};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_EVENT_OneParam(OwningType, EventName, Param1Type)
Definition DelegateCombinations.h:51
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Actor.h:257
Definition ActorDescContainerInstance.h:19
Definition LinkerInstancingContext.h:99
Definition NameTypes.h:617
Definition WorldPartitionActorDescInstance.h:18
Definition WorldPartitionActorDesc.h:282
Definition ActorDescList.h:21
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition FunctionFwd.h:19
Definition UniquePtr.h:107
Definition ActorDescContainerInstance.h:23
UActorDescContainerInstance()
Definition ActorDescContainerInstance.h:27
Definition ActorDescContainer.h:40
Definition ExternalDataLayerAsset.h:16
Definition Object.h:95
Definition WorldPartition.h:142
Definition World.h:918
FRigidTransform3 GetTransform(const TGeometryParticleHandle< FReal, 3 > *Particle)
Definition CollisionResolutionUtil.cpp:30
void RemoveActor(FDatasmithSceneImpl *SceneImpl, ContainerType &ActorContainer, SharedPtrElementType &InActor, EDatasmithActorRemovalRule RemoveRule)
Definition DatasmithSceneElementsImpl.cpp:1312
Definition WorldPartitionActorContainerID.h:44
Definition Guid.h:109
Definition SoftObjectPath.h:56
Definition WorldPartitionRuntimeCell.h:40
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition WeakObjectPtrTemplates.h:25