UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WorldPartitionActorDescViewMap.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#if WITH_EDITOR
5#include "CoreMinimal.h"
8
9template <class Type>
11{
13
14private:
15 template <class Func>
17 {
19
21 {
22 if (!Invoker(*((Type*)ActorDescView.Get())))
23 {
24 return;
25 }
26 }
27 }
28
30 {
32 {
33 return *ActorDescViewPtr;
34 }
35 return nullptr;
36 }
37
39 {
40 return *ActorDescViewsByGuid.FindChecked(InGuid);
41 }
42
43public:
45 {}
46
47 // Non-copyable but movable
48 TActorDescViewMap(const TActorDescViewMap&) = delete;
50 TActorDescViewMap& operator=(const TActorDescViewMap&) = delete;
51 TActorDescViewMap& operator=(TActorDescViewMap&&) = default;
52
53 Type* Emplace(const FGuid& InActorGuid, const Type& InActorDescView)
54 {
56
57 const UClass* NativeClass = NewActorDescView->GetActorNativeClass();
58 const FName NativeClassName = NativeClass->GetFName();
59
61 ActorDescViewsByClass.Add(NativeClassName, NewActorDescView);
62
63 return NewActorDescView;
64 }
65
67 {
68 return Emplace(InActorDesc->GetGuid(), Type(InActorDesc));
69 }
70
71 inline int32 Num() const
72 {
73 return ActorDescViewList.Num();
74 }
75
76 template <class Func>
77 void ForEachActorDescView(Func InFunc) const
78 {
80
82 {
84 {
85 return;
86 }
87 }
88 }
89
90 const Type* FindByGuid(const FGuid& InGuid) const
91 {
92 if (const Type* const* ActorDescViewPtr = ActorDescViewsByGuid.Find(InGuid))
93 {
94 return *ActorDescViewPtr;
95 }
96 return nullptr;
97 }
98
99 const Type& FindByGuidChecked(const FGuid& InGuid) const
100 {
101 return *ActorDescViewsByGuid.FindChecked(InGuid);
102 }
103
104 template <class ClassType>
106 {
107 return FindByExactNativeClass(ClassType::StaticClass());
108 }
109
111 {
112 check(InExactNativeClass->IsNative());
113 const FName NativeClassName = InExactNativeClass->GetFName();
115 ActorDescViewsByClass.MultiFind(NativeClassName, Result);
116 return Result;
117 }
118
120
121protected:
123
126};
127
128#endif
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ Num
Definition MetalRHIPrivate.h:234
Definition NameTypes.h:617
Definition WorldPartitionActorDesc.h:282
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition UniquePtr.h:107
Definition Class.h:3793
FORCEINLINE FName GetFName() const
Definition UObjectBase.h:233
Type
Definition PawnAction_Move.h:11
FORCEINLINE T * Get(const FObjectPtr &ObjectPtr)
Definition ObjectPtr.h:426
UE_STRING_CLASS Result(Forward< LhsType >(Lhs), RhsLen)
Definition String.cpp.inl:732
Definition Guid.h:109
Definition OverrideVoidReturnInvoker.h:16