UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ObjectSaveOverride.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "UObject/FieldPath.h"
8
15{
17 {
18 checkf(PropertyPath == Other.PropertyPath, TEXT("Merge called with an unrelated FPropertySaveOverride!"));
19 bMarkTransient |= Other.bMarkTransient;
20 }
21
24};
25
28{
30 {
31 bForceTransient |= Other.bForceTransient;
32
34 {
35 PropOverrides = Other.PropOverrides;
36 }
37 else if (!Other.PropOverrides.IsEmpty())
38 {
39 for (const FPropertySaveOverride& OtherPropOverride : Other.PropOverrides)
40 {
41 if (FPropertySaveOverride* MatchingPropOverride = PropOverrides.FindByPredicate([&OtherPropOverride](const FPropertySaveOverride& PropOverride) { return PropOverride.PropertyPath == OtherPropOverride.PropertyPath; }))
42 {
44 }
45 else
46 {
48 }
49 }
50 }
51 }
52
54
55 // Treats the object as RF_Transient for the duration of the save
56 bool bForceTransient = false;
57};
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition PropertyPath.Build.cs:6
PropertyPath(ReadOnlyTargetRules Target)
Definition PropertyPath.Build.cs:7
Definition Array.h:670
ElementType * FindByPredicate(Predicate Pred)
Definition Array.h:1471
UE_REWRITE bool IsEmpty() const
Definition Array.h:1133
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition FieldPath.h:36
Definition ObjectSaveOverride.h:28
void Merge(const FObjectSaveOverride &Other)
Definition ObjectSaveOverride.h:29
TArray< FPropertySaveOverride > PropOverrides
Definition ObjectSaveOverride.h:53
bool bForceTransient
Definition ObjectSaveOverride.h:56
Definition ObjectSaveOverride.h:15
FFieldPath PropertyPath
Definition ObjectSaveOverride.h:22
void Merge(const FPropertySaveOverride &Other)
Definition ObjectSaveOverride.h:16
bool bMarkTransient
Definition ObjectSaveOverride.h:23