5#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_4
15#include "DataTable.generated.h"
19struct FDataTableEditorUtils;
20class UGameplayTagTableManager;
26template <
class CharType>
28template <
class CharType,
class Pr
intPolicy>
35USTRUCT(BlueprintInternalUseOnly)
87 friend FDataTableEditorUtils;
88 friend UGameplayTagTableManager;
123 UPROPERTY(EditAnywhere, Category=ImportOptions)
127 UPROPERTY(EditAnywhere, Category = ImportOptions)
131 UPROPERTY(EditAnywhere, Category = ImportOptions)
135 UPROPERTY(EditAnywhere, Category=ImportOptions)
136 FString ImportKeyField;
147 ENGINE_API virtual void FinishDestroy()
override;
154#if WITH_EDITORONLY_DATA
157 UE_DEPRECATED(5.4,
"Implement the version that takes FAssetRegistryTagsContext instead.")
206 if (CommonTypeCheck(T::StaticStruct(),
TEXT(
"UDataTable::GetAllRows"),
ContextString))
239 if (CommonTypeCheck(T::StaticStruct(),
TEXT(
"UDataTable::ForeachRow"),
ContextString))
243 T* Entry =
reinterpret_cast<T*
>(
RowMapIter.Value());
261 if(RowStruct ==
nullptr)
303 template<
typename CharType = TCHAR>
307 template<
typename CharType = TCHAR>
311 template<
typename CharType = TCHAR>
446 return FString::Printf(
TEXT(
"No Data Table Specified, Row: %s"), *RowName.ToString());
551#define GETROW_REPORTERROR(Handle, Template) Handle.GetRow<Template>(FString::Printf(TEXT("%s.%s"), *GetPathName(), TEXT(#Handle)))
552#define GETROWOBJECT_REPORTERROR(Object, Handle, Template) Handle.GetRow<Template>(FString::Printf(TEXT("%s.%s"), *Object->GetPathName(), TEXT(#Handle)))
#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
EDataTableExportFlags
Definition DataTableUtils.h:13
#define DECLARE_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:23
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
@ PPF_None
Definition PropertyPortFlags.h:15
::FCriticalSection FTransactionallySafeCriticalSection
Definition TransactionallySafeCriticalSection.h:16
EDataValidationResult
Definition UObjectGlobals.h:4225
Definition Archive.h:1208
Definition AssetRegistryTagsContext.h:98
Definition DataTableCSV.h:34
Definition DataTableJSON.h:86
Definition DataValidation.h:40
Definition NameTypes.h:617
FORCEINLINE bool IsNone() const
Definition NameTypes.h:827
Definition UnrealType.h:174
void InitializeValue(void *Dest) const
Definition UnrealType.h:1108
Definition UObjectGlobals.h:2492
Definition StructuredArchiveSlots.h:144
Definition StructuredArchiveSlots.h:52
Definition AssetRegistryState.h:50
Definition JsonWriter.h:85
Definition UnrealString.h.inl:34
Definition SharedPointer.h:153
Definition AssetImportData.h:72
Definition DataTable.h:81
void ForeachRow(const FString &ContextString, TFunctionRef< void(const FName &Key, const T &Value)> Predicate) const
Definition DataTable.h:250
virtual TMap< FName, uint8 * > & GetNonConstRowMap()
Definition DataTable.h:101
void GetAllRows(const TCHAR *ContextString, OUT TArray< T * > &OutRowArray) const
Definition DataTable.h:204
virtual const TMap< FName, uint8 * > & GetRowMap()
Definition DataTable.h:111
virtual bool AllowDuplicateRowsOnImport() const
Definition DataTable.h:116
uint8 * FindRowUnchecked(FName RowName) const
Definition DataTable.h:259
virtual bool NeedsLoadForClient() const override
Definition DataTable.h:152
void ForeachRow(const TCHAR *ContextString, TFunctionRef< void(const FName &Key, const T &Value)> Predicate) const
Definition DataTable.h:237
TMap< FName, uint8 * > RowMap
Definition DataTable.h:98
T * FindRow(FName RowName, const FString &ContextString, bool bWarnIfRowMissing=true) const
Definition DataTable.h:230
FOnDataTableChanged & OnDataTableChanged()
Definition DataTable.h:194
T * FindRow(FName RowName, const TCHAR *ContextString, bool bWarnIfRowMissing=true) const
Definition DataTable.h:224
void GetAllRows(const FString &ContextString, OUT TArray< T * > &OutRowArray) const
Definition DataTable.h:217
const UScriptStruct * GetRowStruct() const
Definition DataTable.h:113
virtual const TMap< FName, uint8 * > & GetRowMap() const
Definition DataTable.h:110
virtual bool NeedsLoadForEditorGame() const override
Definition DataTable.h:153
@ false
Definition radaudio_common.h:23
Definition DataTable.h:469
void GetRows(TArray< T * > &OutRows, const FString &ContextString) const
Definition DataTable.h:492
Definition DataTable.h:396
T * GetRow(const TCHAR *ContextString) const
Definition DataTable.h:422
T * GetRow(const FString &ContextString) const
Definition DataTable.h:437
FString ToDebugString(bool bUseFullPath=false) const
Definition DataTable.h:442
Definition UnrealType.h:6865
Definition ResourceSize.h:31
Definition DataTable.h:37
virtual ~FTableRowBase()
Definition DataTable.h:41
virtual void OnPostDataImport(const UDataTable *InDataTable, const FName InRowName, TArray< FString > &OutCollectedImportProblems)
Definition DataTable.h:51
virtual void OnDataTableChanged(const UDataTable *InDataTable, const FName InRowName)
Definition DataTable.h:61
Definition TopLevelAssetPath.h:38
Definition ObjectPtr.h:488
Definition PrettyJsonPrintPolicy.h:16
Definition StructOpsTypeTraits.h:11
@ WithPostSerialize
Definition StructOpsTypeTraits.h:25
Definition StructOpsTypeTraits.h:46
Definition DataTable.h:375