UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ArchiveObjectPropertyMapper.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "UObject/Class.h"
8
9/*----------------------------------------------------------------------------
10 FArchiveObjectPropertyMapper.
11----------------------------------------------------------------------------*/
12
18{
19public:
34 : ObjectGraph( InObjectGraph ), LimitOuter(InOuter), LimitClass(InLimitClass), bRequireDirectOuter(bInRequireDirectOuter), bSerializeRecursively(bInSerializeRecursively)
35 {
37 bSerializeRecursively = bInSerializeRecursively && LimitOuter != NULL;
38 }
39private:
47 {
48 // Avoid duplicate entries.
49 if ( Object != NULL )
50 {
51 if ((LimitClass == NULL || Object->IsA(LimitClass)) &&
52 (LimitOuter == NULL || (Object->GetOuter() == LimitOuter || (!bRequireDirectOuter && Object->IsIn(LimitOuter)))) )
53 {
54 ObjectGraph->Add(GetSerializedProperty(), Object);
55 if ( bSerializeRecursively && !ObjectArray.Contains(Object) )
56 {
57 ObjectArray.Add( Object );
58
59 // check this object for any potential object references
60 Object->Serialize(*this);
61 }
62 }
63 }
64
65 return *this;
66 }
67
69 TArray<UObject*> ObjectArray;
70
72 TMap<FProperty*,UObject*>* ObjectGraph;
73
75 UObject* LimitOuter;
76
78 UClass* LimitClass;
79
81 bool bRequireDirectOuter;
82
84 bool bSerializeRecursively;
85};
86
#define NULL
Definition oodle2base.h:134
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition ArchiveObjectPropertyMapper.h:18
FArchiveObjectPropertyMapper(TMap< FProperty *, UObject * > *InObjectGraph, UObject *InOuter=NULL, UClass *InLimitClass=NULL, bool bInRequireDirectOuter=true, bool bInSerializeRecursively=true)
Definition ArchiveObjectPropertyMapper.h:33
Definition ArchiveUObject.h:17
friend FArchive & operator<<(FArchive &Ar, ANSICHAR &Value)
Definition Archive.h:1387
Definition Archive.h:1208
UE_FORCEINLINE_HINT class FProperty * GetSerializedProperty() const
Definition Archive.h:748
uint8 ArIsObjectReferenceCollector
Definition Archive.h:915
Definition Array.h:670
bool Contains(const ComparisonType &Item) const
Definition Array.h:1518
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition UnrealString.h.inl:34
Definition Class.h:3793
Definition Object.h:95