15#include "OverridableManager.generated.h"
23#if WITH_EDITORONLY_DATA
30 bool IsDefault()
const
32 return !OverriddenProperties.IsValid();
129 if constexpr (std::is_convertible_v<InputType, TNotNull<UObject*>>)
311#if WITH_EDITORONLY_DATA
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
#define WITH_EDITORONLY_DATA
Definition CoreMiscDefines.h:24
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
T TNotNull
Definition NotNull.h:307
#define UENUM(...)
Definition ObjectMacros.h:749
EOverriddenState
Definition OverridableManager.h:42
EPropertyNotificationType
Definition OverriddenPropertySet.h:408
EOverriddenPropertyOperation
Definition OverriddenPropertySet.h:179
#define UE_REQUIRES(...)
Definition Requires.h:86
if(Failed) console_printf("Failed.\n")
Definition UnrealType.h:6738
Definition OverridableManager.h:61
COREUOBJECT_API void PreOverrideProperty(TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath, const EPropertyChangeType::Type ChangeType=EPropertyChangeType::Unspecified)
Definition OverridableManager.cpp:332
FUObjectAnnotationSparseBool NeedsSubobjectTemplateInstantiation
Definition OverridableManager.h:316
EOverriddenPropertyOperation GetOverriddenPropertyOperation(TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath, bool *bOutInheritedOperation=nullptr)
Definition OverridableManager.h:227
static COREUOBJECT_API FOverridableManager * OverridableManager
Definition OverridableManager.h:309
COREUOBJECT_API void SerializeOverriddenProperties(TNotNull< UObject * > Object, FStructuredArchive::FRecord ObjectRecord)
Definition OverridableManager.cpp:407
void HandleObjectsReInstantiated(const TMap< UObject *, UObject * > &OldToNewInstanceMap)
Definition OverridableManager.cpp:446
bool ClearOverriddenProperty(TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath)
Definition OverridableManager.h:200
COREUOBJECT_API void ClearOverrides(TNotNull< UObject * > Object)
Definition OverridableManager.cpp:367
void PreOverridePropertyChain(UObject *Object, const FEditPropertyChain &PropertyChain)
Definition OverridableManager.h:265
COREUOBJECT_API bool IsEnabled(TNotNull< const UObject * > Object)
Definition OverridableManager.cpp:25
COREUOBJECT_API FOverriddenPropertySet * RestoreOverrideOperation(TNotNull< UObject * > Object, EOverriddenPropertyOperation Operation, const bool bNeedsSubobjectTemplateInstantiation, const bool bDontClearOverrides=false)
Definition OverridableManager.cpp:117
COREUOBJECT_API void DisableInstancedSubObject(TNotNull< const UObject * > Object, TNotNull< UObject * > InstancedSubObject)
Definition OverridableManager.cpp:60
COREUOBJECT_API void PropagateClearOverridesToInstancedSubObjects(TNotNull< UObject * > Object)
Definition OverridableManager.cpp:388
COREUOBJECT_API FOverriddenPropertySet * GetOverriddenPropertiesInternal(TNotNull< UObject * > Object)
Definition OverridableManager.cpp:98
void PreOverrideProperty(UObject *Object, const FPropertyChangedChainEvent &PropertyChainEvent)
Definition OverridableManager.h:275
COREUOBJECT_API void OverrideAllObjectProperties(TNotNull< UObject * > Object)
Definition OverridableManager.cpp:300
COREUOBJECT_API EOverriddenState GetOverriddenState(TNotNull< UObject * > Object, TFunction< bool(TNotNull< const FProperty * >)> ConsiderPropertyForOverriddenState=TFunction< bool(TNotNull< const FProperty * >)>(), const FPropertyVisitorPath &Path=FPropertyVisitorPath(), bool *bOutInheritedState=nullptr)
Definition OverridableManager.cpp:168
UE_FORCEINLINE_HINT EOverriddenPropertyOperation GetOverriddenPropertyOperation(TNotNull< UObject * > Object, const FPropertyChangedEvent &PropertyEvent, const FEditPropertyChain &PropertyChain, bool *bOutInheritedOperation=nullptr)
Definition OverridableManager.h:297
auto GetOverriddenProperties(InputType &&Object)
Definition OverridableManager.h:126
FOverridableManager()
Definition OverridableManager.cpp:436
COREUOBJECT_API void ClearInstancedSubObjectOverrides(TNotNull< const UObject * > Object, TNotNull< UObject * > InstancedSubObject)
Definition OverridableManager.cpp:378
void HandleDeadObjectReferences(const TSet< UClass * > &DeadClasses, const TSet< UObject * > &ActiveInstances, const TSet< UObject * > &TemplateInstances)
Definition OverridableManager.cpp:460
COREUOBJECT_API bool NeedSubObjectTemplateInstantiation(TNotNull< const UObject * > Object)
Definition OverridableManager.cpp:85
void OverrideProperty(TNotNull< UObject * > Object, const FPropertyChangedChainEvent &PropertyEvent)
Definition OverridableManager.h:244
COREUOBJECT_API void NotifyPropertyChange(const EPropertyNotificationType Notification, TNotNull< UObject * > Object, FPropertyVisitorPath::Iterator PropertyIterator, const EPropertyChangeType::Type ChangeType)
Definition OverridableManager.cpp:346
COREUOBJECT_API void InheritEnabledFrom(TNotNull< UObject * > Object, const UObject *DefaultData)
Definition OverridableManager.cpp:71
friend FOverriddenPropertySet
Definition OverridableManager.h:319
static COREUOBJECT_API void Create()
Definition OverridableManager.cpp:17
static FOverridableManager & Get()
Definition OverridableManager.h:65
COREUOBJECT_API void OverrideProperty(TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath)
Definition OverridableManager.cpp:311
bool ClearOverriddenProperty(TNotNull< UObject * > Object, const FPropertyChangedEvent &PropertyEvent, const FEditPropertyChain &PropertyChain)
Definition OverridableManager.h:255
static FOverridableManager * TryGet()
Definition OverridableManager.h:74
void PostOverrideProperty(UObject *Object, const FPropertyChangedChainEvent &PropertyChainEvent)
Definition OverridableManager.h:285
COREUOBJECT_API void RestoreOverrideState(TNotNull< const UObject * > OldObject, TNotNull< UObject * > NewObject)
Definition OverridableManager.cpp:157
COREUOBJECT_API void PostOverrideProperty(TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath, const EPropertyChangeType::Type ChangeType)
Definition OverridableManager.cpp:339
Definition StructuredArchiveSlots.h:144
Definition UObjectAnnotation.h:619
Definition UObjectAnnotation.h:33
Definition PropertyPath.Build.cs:6
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
const Type Unspecified
Definition UnrealType.h:6838
uint32 Type
Definition UnrealType.h:6835
Definition OverriddenPropertySet.h:421
Definition UnrealType.h:7001
Definition UnrealType.h:6865
Definition PropertyVisitor.h:97
TArray< FPropertyVisitorInfo >::TConstIterator Iterator
Definition PropertyVisitor.h:198