20#include "TopLevelAssetPath.generated.h"
36USTRUCT(BlueprintType, meta = (HasNativeMake =
"/Script/Engine.KismetSystemLibrary.MakeTopLevelAssetPath", HasNativeBreak =
"/Script/Engine.KismetSystemLibrary.BreakTopLevelAssetPath"))
50 UE_DEPRECATED(5.0,
"FNames containing full asset paths have been replaced by FTopLevelAssetPath/FSoftLevelObjectPath."
51 "This function is only for temporary use interfacing with APIs that still produce an FName."
52 "Those APIS should be updated to use FTopLevelAssetPath or FSoftLevelObjectPath.")
55 TrySetPath(
InPath.ToString());
70 template<
typename CharType>
109 UE_DEPRECATED(5.1,
"FNames containing full asset paths have been replaced by FTopLevelAssetPath/FSoftLevelObjectPath."
110 "This function is only for temporary use interfacing with APIs that still expect an FName."
111 "Those APIS should be updated to use FTopLevelAssetPath or FSoftLevelObjectPath.")
117 return !PackageName.IsNone();
123 return PackageName.IsNone();
129 PackageName = AssetName =
FName();
134 return PackageName ==
Other.PackageName && AssetName ==
Other.AssetName;
140 return !(*
this ==
Other);
146 return Ar << Path.PackageName << Path.AssetName;
159 if (
int32 Diff = PackageName.Compare(
Other.PackageName))
163 return AssetName.Compare(
Other.AssetName);
169 if (
int32 Diff = PackageName.CompareIndexes(
Other.PackageName))
173 return AssetName.CompareIndexes(
Other.AssetName);
178 return HashCombineFast(GetTypeHash(This.PackageName), GetTypeHash(This.AssetName));
189 Path.WriteCompactBinary(Writer);
195 UPROPERTY(EditAnywhere, SaveGame, BlueprintReadWrite, Category = TopLevelAssetPath, meta = (AllowPrivateAccess =
"true"))
198 UPROPERTY(EditAnywhere, SaveGame, BlueprintReadWrite, Category = TopLevelAssetPath, meta = (AllowPrivateAccess = "
true"))
206 Path.AppendString(Builder);
212 Path.AppendString(Builder);
221 return A.CompareFast(
B) < 0;
230 return A.Compare(
B) < 0;
bool LoadFromCompactBinary(FCbFieldView Field, FAssetDependency &Dependency)
Definition AssetRegistry.cpp:10420
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
void SerializeForLog(FCbWriter &Writer, const FIoStatus &Status)
Definition IoStatus.cpp:107
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
TStringView< TCHAR > FStringView
Definition StringFwd.h:45
#define SA_VALUE(Name, Value)
Definition StructuredArchiveNameHelpers.h:77
FWideStringBuilderBase & operator<<(FWideStringBuilderBase &Builder, const FTopLevelAssetPath &Path)
Definition TopLevelAssetPath.h:204
constexpr uint32 HashCombineFast(uint32 A, uint32 B)
Definition TypeHash.h:74
Definition Archive.h:1208
Definition CompactBinary.h:610
Definition CompactBinaryWriter.h:68
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition StructuredArchiveSlots.h:144
Definition StructuredArchiveSlots.h:52
UE_API FStructuredArchiveRecord EnterRecord()
Definition StructuredArchiveSlots.h:252
Definition StringBuilder.h:79
Definition StringView.h:107
Definition FieldSystemNoiseAlgo.cpp:6
Definition PropertyTag.h:38
Definition TopLevelAssetPath.h:218
UE_FORCEINLINE_HINT bool operator()(const FTopLevelAssetPath &A, const FTopLevelAssetPath &B) const
Definition TopLevelAssetPath.h:219
Definition TopLevelAssetPath.h:227
UE_FORCEINLINE_HINT bool operator()(const FTopLevelAssetPath &A, const FTopLevelAssetPath &B) const
Definition TopLevelAssetPath.h:228
Definition TopLevelAssetPath.h:38
FTopLevelAssetPath(const FString &Path)
Definition TopLevelAssetPath.h:59
int32 Compare(const FTopLevelAssetPath &Other) const
Definition TopLevelAssetPath.h:157
friend FArchive & operator<<(FArchive &Ar, FTopLevelAssetPath &Path)
Definition TopLevelAssetPath.h:144
friend uint32 GetTypeHash(FTopLevelAssetPath const &This)
Definition TopLevelAssetPath.h:176
bool operator==(FTopLevelAssetPath const &Other) const
Definition TopLevelAssetPath.h:132
bool IsValid() const
Definition TopLevelAssetPath.h:115
FTopLevelAssetPath & operator=(TStringView< CharType > Path)
Definition TopLevelAssetPath.h:71
bool operator!=(FTopLevelAssetPath const &Other) const
Definition TopLevelAssetPath.h:138
bool TrySetPath(const FString &Path)
Definition TopLevelAssetPath.h:86
FName GetPackageName() const
Definition TopLevelAssetPath.h:92
UE_DEPRECATED(5.0, "FNames containing full asset paths have been replaced by FTopLevelAssetPath/FSoftLevelObjectPath." "This function is only for temporary use interfacing with APIs that still produce an FName." "Those APIS should be updated to use FTopLevelAssetPath or FSoftLevelObjectPath.") explicit FTopLevelAssetPath(FName InPath)
Definition TopLevelAssetPath.h:50
FTopLevelAssetPath(const CharType *Path)
Definition TopLevelAssetPath.h:63
bool TrySetPath(const CharType *Path)
Definition TopLevelAssetPath.h:85
FTopLevelAssetPath(FName InPackageName, FName InAssetName)
Definition TopLevelAssetPath.h:45
FTopLevelAssetPath & operator=(const FString &Path)
Definition TopLevelAssetPath.h:69
void Reset()
Definition TopLevelAssetPath.h:127
int32 CompareFast(const FTopLevelAssetPath &Other) const
Definition TopLevelAssetPath.h:167
FTopLevelAssetPath & operator=(TYPE_OF_NULLPTR)
Definition TopLevelAssetPath.h:74
FTopLevelAssetPath(const UObject *InObject)
Definition TopLevelAssetPath.h:66
FTopLevelAssetPath()
Definition TopLevelAssetPath.h:41
FTopLevelAssetPath(TStringView< CharType > Path)
Definition TopLevelAssetPath.h:61
friend FCbWriter & operator<<(FCbWriter &Writer, const FTopLevelAssetPath &Path)
Definition TopLevelAssetPath.h:187
UE_DEPRECATED(5.1, "FNames containing full asset paths have been replaced by FTopLevelAssetPath/FSoftLevelObjectPath." "This function is only for temporary use interfacing with APIs that still expect an FName." "Those APIS should be updated to use FTopLevelAssetPath or FSoftLevelObjectPath.") FName ToFName() const
Definition TopLevelAssetPath.h:109
bool IsNull() const
Definition TopLevelAssetPath.h:121
friend void operator<<(FStructuredArchive::FSlot Slot, FTopLevelAssetPath &Path)
Definition TopLevelAssetPath.h:150
FTopLevelAssetPath(TYPE_OF_NULLPTR)
Definition TopLevelAssetPath.h:42
FName GetAssetName() const
Definition TopLevelAssetPath.h:95
FTopLevelAssetPath & operator=(const CharType *Path)
Definition TopLevelAssetPath.h:73
Definition StructOpsTypeTraits.h:11
@ WithStructuredSerializeFromMismatchedTag
Definition StructOpsTypeTraits.h:29
@ WithExportTextItem
Definition StructOpsTypeTraits.h:20
@ WithImportTextItem
Definition StructOpsTypeTraits.h:21
Definition StructOpsTypeTraits.h:46