UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WorldPartitionActorContainerID.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Hash/CityHash.h"
5#include "WorldPartitionActorContainerID.generated.h"
6
9{
11
12public:
13 UPROPERTY()
14 TArray<FGuid> ContainerGuids;
15
17 {
18 if (InActorContainerPath.ContainerGuids.Num() > 0)
19 {
20 FGuid Guid = InActorContainerPath.ContainerGuids[0];
21 for (int32 i = 1; i < InActorContainerPath.ContainerGuids.Num(); ++i)
22 {
23 Guid = FGuid::Combine(Guid, InActorContainerPath.ContainerGuids[i]);
24 }
25
26 return GetTypeHash(Guid);
27 }
28
29 return 0;
30 }
31
33 {
34 Ar << InActorContainerPath.ContainerGuids;
35 return Ar;
36 }
37
38 bool operator==(const FActorContainerPath& InOther) const = default;
39 bool operator!=(const FActorContainerPath& InOther) const = default;
40};
41
42USTRUCT()
44{
46
49
53
57
61
64 {
65 for (const FGuid& ContainerGuid : InPath.ContainerGuids)
66 {
68 }
69 }
70
72 {
73 Guid = InOther.Guid;
74 }
75
77 {
78 return Guid == InOther.Guid;
79 }
80
82 {
83 return Guid != InOther.Guid;
84 }
85
87 {
88 return Guid < InOther.Guid;
89 }
90
92 {
93 return Ar << InActorContainer.Guid;
94 }
95
96 bool IsMainContainer() const
97 {
98 return !Guid.IsValid();
99 }
100
101 FString ToString() const
102 {
103 return Guid.ToString();
104 }
105
106 FString ToShortString() const
107 {
108 const uint64 ID = CityHash64((const char*)&Guid, sizeof(FGuid));
109 return FString::Printf(TEXT("%016llx"), ID);
110 }
111
113 {
114 // Preserve the original actor guid for top level actors
116 }
117
119 {
120 return GetTypeHash(InContainerID.Guid);
121 }
122
124 {
125 return FActorContainerID();
126 }
127
128private:
129 UPROPERTY()
130 FGuid Guid;
131};
uint64 CityHash64(const char *s, uint32 len)
Definition CityHash.cpp:388
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition Array.h:670
Definition WorldPartitionActorContainerID.h:44
bool IsMainContainer() const
Definition WorldPartitionActorContainerID.h:96
FActorContainerID(const FActorContainerID &InParent, const FActorContainerID &InOther)
Definition WorldPartitionActorContainerID.h:54
FActorContainerID(const FActorContainerID &InOther)
Definition WorldPartitionActorContainerID.h:50
bool operator!=(const FActorContainerID &InOther) const
Definition WorldPartitionActorContainerID.h:81
bool operator<(const FActorContainerID &InOther) const
Definition WorldPartitionActorContainerID.h:86
bool operator==(const FActorContainerID &InOther) const
Definition WorldPartitionActorContainerID.h:76
void operator=(const FActorContainerID &InOther)
Definition WorldPartitionActorContainerID.h:71
static FActorContainerID GetMainContainerID()
Definition WorldPartitionActorContainerID.h:123
FActorContainerID(const FActorContainerID &InParent, const FGuid &InActorGuid)
Definition WorldPartitionActorContainerID.h:58
friend uint32 GetTypeHash(const FActorContainerID &InContainerID)
Definition WorldPartitionActorContainerID.h:118
FActorContainerID(const FActorContainerID &InParent, const FActorContainerPath &InPath)
Definition WorldPartitionActorContainerID.h:62
FString ToShortString() const
Definition WorldPartitionActorContainerID.h:106
FGuid GetActorGuid(const FGuid &InActorGuid) const
Definition WorldPartitionActorContainerID.h:112
friend FArchive & operator<<(FArchive &Ar, FActorContainerID &InActorContainer)
Definition WorldPartitionActorContainerID.h:91
FString ToString() const
Definition WorldPartitionActorContainerID.h:101
Definition WorldPartitionActorContainerID.h:9
friend FArchive & operator<<(FArchive &Ar, FActorContainerPath &InActorContainerPath)
Definition WorldPartitionActorContainerID.h:32
bool operator!=(const FActorContainerPath &InOther) const =default
bool operator==(const FActorContainerPath &InOther) const =default
Definition Guid.h:109
static CORE_API FGuid Combine(const FGuid &GuidA, const FGuid &GuidB)
Definition Guid.cpp:297
bool IsValid() const
Definition Guid.h:318