UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DataflowContextAssetStore.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "UObject/ObjectPtr.h"
7#include "UObject/GCObject.h"
8
9class UObject;
10
11namespace UE::Dataflow
12{
15 {
16 public:
21 template <typename T>
22 inline T* AddAssetTyped(const FString& AssetPath)
23 {
24 return Cast<T>(AddAsset(AssetPath, T::StaticClass()));
25 }
26
32 virtual UObject* AddAsset(const FString& PersistentAssetPath, const UClass* AssetClass) = 0;
33
39 virtual UObject* CommitAsset(const FString& TransientAssetPath) = 0;
40
44 virtual void ClearAssets() = 0;
45
46 };
47
50 {
51 public:
57 DATAFLOWCORE_API UObject* AddAsset(const FString& PersistentAssetPath, const UClass* AssetClass);
58
65
71 DATAFLOWCORE_API UObject* CommitAsset(const UObject* TransientAsset);
72
77
78 //~ Begin FGCObject interface
79 DATAFLOWCORE_API virtual void AddReferencedObjects(FReferenceCollector& Collector) override;
80 virtual FString GetReferencerName() const override { return TEXT("FContextAssetStore"); }
81 //~ End FGCObject interface
82
83 private:
84 struct FAssetData
85 {
86 FString PersistentPath;
87 FString TransientPath;
88 TObjectPtr<UObject> TransientAsset = nullptr;
89 };
90
91 const FAssetData* FindByTransientPath(const FString& TransientAssetPath) const;
92 const FAssetData* FindByTransientAsset(const UObject* TransientAsset) const;
93
94 UObject* CommitAsset(const FAssetData& AssetData);
95
96 TArray<FAssetData> AssetData;
97 };
98
99}
100
101
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition GCObject.h:128
Definition UObjectGlobals.h:2492
Definition Array.h:670
Definition Class.h:3793
Definition Object.h:95
Definition DataflowAnyType.cpp:10
Definition AssetData.h:162
Definition ObjectPtr.h:488
Definition DataflowContextAssetStore.h:50
virtual FString GetReferencerName() const override
Definition DataflowContextAssetStore.h:80
DATAFLOWCORE_API void ClearAssets()
Definition DataflowContextAssetStore.cpp:79
DATAFLOWCORE_API UObject * AddAsset(const FString &PersistentAssetPath, const UClass *AssetClass)
Definition DataflowContextAssetStore.cpp:12
virtual DATAFLOWCORE_API void AddReferencedObjects(FReferenceCollector &Collector) override
Definition DataflowContextAssetStore.cpp:100
DATAFLOWCORE_API UObject * CommitAsset(const FString &TransientAssetPath)
Definition DataflowContextAssetStore.cpp:34
Definition DataflowContextAssetStore.h:15
virtual UObject * CommitAsset(const FString &TransientAssetPath)=0
virtual UObject * AddAsset(const FString &PersistentAssetPath, const UClass *AssetClass)=0
T * AddAssetTyped(const FString &AssetPath)
Definition DataflowContextAssetStore.h:22