12#include "DataLayerInstance.generated.h"
14#define DATALAYER_TO_INSTANCE_RUNTIME_CONVERSION_ENABLED 1
21class UExternalDataLayerInstance;
57 return TEXT(
"Invalid");
61class UDataLayerInstance :
public UObject
65 friend class UDataLayerConversionInfo;
72 T* GetTypedOuter()
const
74 static_assert(!std::is_same<T, UWorld>::value,
"Use GetOuterWorld instead");
75 static_assert(!std::is_same<T, ULevel>::value,
"Use GetOuterWorld()->PersistentLevel instead");
76 static_assert(!std::is_same<T, AWorldDataLayers>::value,
"Use GetOuterWorldDataLayers or GetDirectOuterWorldDataLayers instead");
77 return Super::GetTypedOuter<T>();
119 virtual bool SupportsActorFilters()
const {
return false; }
120 virtual const UExternalDataLayerInstance* GetRootExternalDataLayerInstance()
const {
return nullptr; }
142 UE_DEPRECATED(5.4,
"Implement the version that takes FAssetRegistryTagsContext instead.")
148 UE_DEPRECATED(5.4, "Use IsReadOnly
instead")
149 virtual bool IsLocked()
const {
FText Reason;
return IsLocked(&Reason); }
162 UFUNCTION(Category =
"Data Layer", BlueprintCallable)
165 UFUNCTION(Category =
"Data Layer|Editor", BlueprintCallable)
168 UFUNCTION(Category =
"Data Layer|Editor", BlueprintCallable)
171 UFUNCTION(Category =
"Data Layer|Editor", BlueprintCallable)
174 UFUNCTION(Category =
"Data Layer|Runtime", BlueprintCallable)
175 virtual bool IsRuntime()
const {
return false; }
177 UFUNCTION(Category =
"Data Layer|Runtime", BlueprintCallable)
178 virtual bool IsClientOnly()
const {
return false; }
180 UFUNCTION(Category =
"Data Layer|Runtime", BlueprintCallable)
181 virtual bool IsServerOnly()
const {
return false; }
183 UFUNCTION(Category =
"Data Layer|Runtime", BlueprintCallable)
186 UFUNCTION(Category =
"Data Layer|Runtime", BlueprintCallable)
189 UFUNCTION(Category =
"Data Layer", BlueprintCallable)
190 virtual FString GetDataLayerShortName()
const {
return TEXT(
"Invalid Data Layer"); }
192 UFUNCTION(Category =
"Data Layer", BlueprintCallable)
193 virtual FString GetDataLayerFullName()
const {
return TEXT(
"Invalid Data Layer"); }
197 UE_DEPRECATED(5.4,
"Use CanHaveParentDataLayerInstance instead")
202 const UDataLayerInstance* GetParent()
const {
return Parent; }
203 UDataLayerInstance* GetParent() {
return Parent; }
209 UFUNCTION(Category =
"Data Layer", BlueprintCallable)
215#if DATALAYER_TO_INSTANCE_RUNTIME_CONVERSION_ENABLED
221 FString
GetName()
const {
return Super::GetName(); }
234#if WITH_EDITORONLY_DATA
240 UPROPERTY(Category =
"Editor", EditAnywhere)
244 UPROPERTY(Category =
"Editor", EditAnywhere, meta = (DisplayName =
"Is Initially Loaded"))
269 UPROPERTY(Category =
"Runtime", EditAnywhere)
277 ENGINE_API void RemoveChild(UDataLayerInstance* DataLayer);
279 ENGINE_API void AddChild(UDataLayerInstance* DataLayer);
#define check(expr)
Definition AssertionMacros.h:314
bool IsRuntime(const UBodySetup *BS)
Definition BodySetup.cpp:381
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EOverrideBlockOnSlowStreaming
Definition DataLayerInstance.h:39
EDataLayerRuntimeState
Definition DataLayerInstance.h:26
const TCHAR * GetDataLayerRuntimeStateName(EDataLayerRuntimeState State)
Definition DataLayerInstance.h:48
EDataLayerType
Definition DataLayerType.h:9
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
Definition WorldDataLayers.h:85
Definition Engine.Build.cs:7
Definition AssetRegistryTagsContext.h:98
Definition DataLayerUtils.h:21
Definition NameTypes.h:617
Definition UnrealType.h:3087
Definition UnrealType.h:174
Definition AssetRegistryState.h:50
Definition DataLayerAsset.h:30
Definition DataLayerManager.h:48
virtual COREUOBJECT_API bool IsAsset() const
Definition Obj.cpp:2704
virtual COREUOBJECT_API void GetAssetRegistryTags(FAssetRegistryTagsContext Context) const
Definition Obj.cpp:2423
ECollisionShapeType GetType(const Chaos::FImplicitObject &InGeometry)
Definition ChaosInterfaceWrapperCore.h:105
void RemoveActor(FDatasmithSceneImpl *SceneImpl, ContainerType &ActorContainer, SharedPtrElementType &InActor, EDatasmithActorRemovalRule RemoveRule)
Definition DatasmithSceneElementsImpl.cpp:1312
FName GetFName(const UObject *Obj)
Definition ObjectFwd.cpp:13
Definition AssetData.h:162
static CORE_API const FColor Black
Definition Color.h:750
Definition ObjectPtr.h:488