UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ContentBundleClient.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
7
9
10#include "ContentBundleClient.generated.h"
11
13class UWorld;
14
15UENUM()
26
27UENUM()
33
35{
37 friend class FContentBundleBase;
38
39public:
41
43 virtual ~FContentBundleClient() = default;
44
45 const UContentBundleDescriptor* GetDescriptor() const { return ContentBundleDescriptor.Get(); }
46
49
51
52 EContentBundleClientState GetState() const { return State; }
53
54 FString const& GetDisplayName() const { return DisplayName; }
55
56 ENGINE_API virtual bool ShouldInjectContent(UWorld* World) const;
57 ENGINE_API virtual bool ShouldRemoveContent(UWorld* World) const;
58
59protected:
60 virtual void DoOnContentRegisteredInWorld(UWorld* InjectedWorld) {};
62 virtual void DoOnContentRemovedFromWorld(UWorld* InjectedWorld) {};
63
64 virtual void DoOnClientToUnregister() {};
65
66private:
67 ENGINE_API bool HasContentToRemove() const;
68
69 ENGINE_API void OnContentRegisteredInWorld(EContentBundleStatus ContentBundleStatus, UWorld* World);
70 ENGINE_API void OnContentInjectedInWorld(EContentBundleStatus InjectionStatus, UWorld* InjectedWorld);
71 ENGINE_API void OnContentRemovedFromWorld(EContentBundleStatus RemovalStatus, UWorld* InjectedWorld);
72
74 ENGINE_API void SetWorldContentState(UWorld* World, EWorldContentState State);
75 ENGINE_API EWorldContentState GetWorldContentState(UWorld* World) const;
76
78
80
81 FString DisplayName;
82
84};
EContentBundleClientState
Definition ContentBundleClient.h:17
EWorldContentState
Definition ContentBundleClient.h:29
EContentBundleStatus
Definition ContentBundleStatus.h:11
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void SetState(uint64 Value)
Definition LockFreeList.h:52
#define UENUM(...)
Definition ObjectMacros.h:749
Definition ContentBundleBase.h:13
Definition ContentBundleClient.h:35
ENGINE_API void RequestUnregister()
Definition ContentBundleClient.cpp:65
static ENGINE_API TSharedPtr< FContentBundleClient > CreateClient(const UContentBundleDescriptor *InContentBundleDescriptor, FString const &InDisplayName)
Definition ContentBundleClient.cpp:13
virtual ENGINE_API bool ShouldInjectContent(UWorld *World) const
Definition ContentBundleClient.cpp:79
virtual ~FContentBundleClient()=default
virtual void DoOnContentInjectedInWorld(EContentBundleStatus InjectionStatus, UWorld *InjectedWorld)
Definition ContentBundleClient.h:61
ENGINE_API void RequestRemoveContent()
Definition ContentBundleClient.cpp:42
virtual void DoOnContentRemovedFromWorld(UWorld *InjectedWorld)
Definition ContentBundleClient.h:62
virtual void DoOnClientToUnregister()
Definition ContentBundleClient.h:64
ENGINE_API void RequestContentInjection()
Definition ContentBundleClient.cpp:29
const UContentBundleDescriptor * GetDescriptor() const
Definition ContentBundleClient.h:45
FString const & GetDisplayName() const
Definition ContentBundleClient.h:54
virtual void DoOnContentRegisteredInWorld(UWorld *InjectedWorld)
Definition ContentBundleClient.h:60
virtual ENGINE_API bool ShouldRemoveContent(UWorld *World) const
Definition ContentBundleClient.cpp:84
EContentBundleClientState GetState() const
Definition ContentBundleClient.h:52
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition ContentBundleDescriptor.h:16
Definition ContentBundleEngineSubsystem.h:19
Definition World.h:918
Definition WeakObjectPtrTemplates.h:25
FORCEINLINE T * Get(bool bEvenIfPendingKill) const
Definition WeakObjectPtrTemplates.h:132