#include <OverridableManager.h>
|
| COREUOBJECT_API bool | IsEnabled (TNotNull< const UObject * > Object) |
| |
| COREUOBJECT_API void | Enable (TNotNull< UObject * > Object) |
| |
| COREUOBJECT_API void | Disable (TNotNull< UObject * > Object, bool bPropagateToSubObjects=false) |
| |
| COREUOBJECT_API void | DisableInstancedSubObject (TNotNull< const UObject * > Object, TNotNull< UObject * > InstancedSubObject) |
| |
| COREUOBJECT_API void | InheritEnabledFrom (TNotNull< UObject * > Object, const UObject *DefaultData) |
| |
| COREUOBJECT_API bool | NeedSubObjectTemplateInstantiation (TNotNull< const UObject * > Object) |
| |
| template<typename InputType > |
| auto | GetOverriddenProperties (InputType &&Object) |
| |
| COREUOBJECT_API FOverriddenPropertySet * | RestoreOverrideOperation (TNotNull< UObject * > Object, EOverriddenPropertyOperation Operation, const bool bNeedsSubobjectTemplateInstantiation, const bool bDontClearOverrides=false) |
| |
| COREUOBJECT_API void | RestoreOverrideState (TNotNull< const UObject * > OldObject, TNotNull< UObject * > NewObject) |
| |
| 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) |
| |
| COREUOBJECT_API void | OverrideAllObjectProperties (TNotNull< UObject * > Object) |
| |
| COREUOBJECT_API void | ClearOverrides (TNotNull< UObject * > Object) |
| |
| COREUOBJECT_API void | ClearInstancedSubObjectOverrides (TNotNull< const UObject * > Object, TNotNull< UObject * > InstancedSubObject) |
| |
| COREUOBJECT_API void | PropagateClearOverridesToInstancedSubObjects (TNotNull< UObject * > Object) |
| |
| COREUOBJECT_API void | OverrideProperty (TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath) |
| |
| bool | ClearOverriddenProperty (TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath) |
| |
| COREUOBJECT_API void | PreOverrideProperty (TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath, const EPropertyChangeType::Type ChangeType=EPropertyChangeType::Unspecified) |
| |
| COREUOBJECT_API void | PostOverrideProperty (TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath, const EPropertyChangeType::Type ChangeType) |
| |
| EOverriddenPropertyOperation | GetOverriddenPropertyOperation (TNotNull< UObject * > Object, const FPropertyVisitorPath &PropertyPath, bool *bOutInheritedOperation=nullptr) |
| |
| COREUOBJECT_API void | SerializeOverriddenProperties (TNotNull< UObject * > Object, FStructuredArchive::FRecord ObjectRecord) |
| |
| void | OverrideProperty (TNotNull< UObject * > Object, const FPropertyChangedChainEvent &PropertyEvent) |
| |
| bool | ClearOverriddenProperty (TNotNull< UObject * > Object, const FPropertyChangedEvent &PropertyEvent, const FEditPropertyChain &PropertyChain) |
| |
| void | PreOverridePropertyChain (UObject *Object, const FEditPropertyChain &PropertyChain) |
| |
| void | PreOverrideProperty (UObject *Object, const FPropertyChangedChainEvent &PropertyChainEvent) |
| |
| void | PostOverrideProperty (UObject *Object, const FPropertyChangedChainEvent &PropertyChainEvent) |
| |
| UE_FORCEINLINE_HINT EOverriddenPropertyOperation | GetOverriddenPropertyOperation (TNotNull< UObject * > Object, const FPropertyChangedEvent &PropertyEvent, const FEditPropertyChain &PropertyChain, bool *bOutInheritedOperation=nullptr) |
| |
| void | HandleObjectsReInstantiated (const TMap< UObject *, UObject * > &OldToNewInstanceMap) |
| |
| void | HandleDeadObjectReferences (const TSet< UClass * > &DeadClasses, const TSet< UObject * > &ActiveInstances, const TSet< UObject * > &TemplateInstances) |
| |
◆ FOverridableManager()
| FOverridableManager::FOverridableManager |
( |
| ) |
|
|
protected |
◆ ClearInstancedSubObjectOverrides()
Clear all overrides of the specified instanced subobject if it is really owned by the referencer
- Parameters
-
| Object | referencing the subobject |
| InstancedSubObject | to clear overrides on |
◆ ClearOverriddenProperty() [1/3]
Clears an overridden properties specified by the property chain
- Parameters
-
| Object | owning the property to clear |
| PropertyEvent | only needed to know about the container item index in any |
| PropertyChain | to the property to clear from the root of the specified object |
- Returns
- true if the property was successfully cleared.
◆ ClearOverriddenProperty() [2/3]
Clears an overridden properties specified by the property chain
- Parameters
-
| Object | owning the property to clear |
| PropertyPath | to the property to clear from the root of the specified object |
- Returns
- true if the property was successfully cleared.
◆ ClearOverriddenProperty() [3/3]
◆ ClearOverrides()
Clears all the overrides on the specified object
- Parameters
-
◆ Create()
| void FOverridableManager::Create |
( |
| ) |
|
|
static |
- Returns
- the static instance managing the overridability
◆ Disable()
Sets on the specified object to not use overridable serialization
- Parameters
-
| Object | to disable |
| bPropagateToSubObjects | true if wants to propagate the disable to all subobjects |
◆ DisableInstancedSubObject()
Sets on the specified object to not use overridable serialization Sets the specified instanced subobject to not use overridable serialization if it is really owned by the referencer
- Parameters
-
| Object | referencing this subobject |
| InstancedSubObject | the sub object to override all its properties |
◆ Enable()
Sets on the specified object to use overridable serialization
- Parameters
-
◆ Get()
- Returns
- the instance managing the overridability
◆ GetOverriddenProperties()
| auto FOverridableManager::GetOverriddenProperties |
( |
InputType && |
Object | ) |
|
|
inline |
Retrieve the overridden properties for the specified object
- Parameters
-
| Object | to fetch the overridden properties |
- Returns
- the overridden properties if the object have overridable serialization enabled
◆ GetOverriddenPropertiesInternal() [1/2]
◆ GetOverriddenPropertiesInternal() [2/2]
◆ GetOverriddenPropertyOperation() [1/3]
Retrieve the overridable operation from the specified the edit property chain
- Parameters
-
| Object | owning the property |
| PropertyEvent | only needed to know about the container item index in any |
| PropertyChain | leading to the property the caller is interested in |
| bOutInheritedOperation | optional parameter to know if the operation returned was inherited from a parent property |
- Returns
- the current type of override operation on the property
◆ GetOverriddenPropertyOperation() [2/3]
Retrieve the overridable operation from the specified property path
- Parameters
-
| Object | owning the property |
| PropertyPath | leading to the property the caller is interested in |
| bOutInheritedOperation | optional parameter to know if the operation returned was inherited from a parent property |
- Returns
- the current type of override operation on the property
◆ GetOverriddenPropertyOperation() [3/3]
◆ GetOverriddenState()
Retrieve the overridden state for the specified property of the specified object
- Parameters
-
| Object | to fetch the overridden properties |
| ConsiderPropertyForOverriddenState | optional parameter to consider or not properties in the overridden state evaluation |
| Path | to the property to know its overridden state, empty will return the object overridden state |
| bOutInheritedState | optional parameter to know if the operation returned was inherited from a parent property |
- Returns
- the overridden state if the object has overridable serialization enabled
◆ HandleDeadObjectReferences()
| void FOverridableManager::HandleDeadObjectReferences |
( |
const TSet< UClass * > & |
DeadClasses, |
|
|
const TSet< UObject * > & |
ActiveInstances, |
|
|
const TSet< UObject * > & |
TemplateInstances |
|
) |
| |
◆ HandleObjectsReInstantiated()
| void FOverridableManager::HandleObjectsReInstantiated |
( |
const TMap< UObject *, UObject * > & |
OldToNewInstanceMap | ) |
|
◆ InheritEnabledFrom()
Inherit if the specified object should enable overridable serialization. It inherits it from either its default object or its outer.
- Parameters
-
| Object | to be inherited on |
| DefaultData | its default object |
◆ IsEnabled()
Lookup if the for the specified object has overridable serialization enabled
- Parameters
-
- Returns
- true if it uses the overridable serialization
◆ NeedSubObjectTemplateInstantiation()
| bool FOverridableManager::NeedSubObjectTemplateInstantiation |
( |
TNotNull< const UObject * > |
Object | ) |
|
Return true if this object needs subobject template instantiation
- Parameters
-
| Object | to be querying about |
◆ NotifyPropertyChange()
◆ OverrideAllObjectProperties()
Override the entire object properties and all its instanced subobjects
- Parameters
-
| Object | to override all it properties |
◆ OverrideProperty() [1/2]
Override a specific property of an object (Helper methods to call Pre/PostOverride) Note: Supports object that does not have overridable serialization enabled
- Parameters
-
| Object | owning the property |
| PropertyEvent | information about the type of change including any container item index |
| PropertyChain | leading to the property that is about to be overridden |
◆ OverrideProperty() [2/2]
Override a specific property of an object (Helper methods to call Pre/PostOverride) Note: Supports object that does not have overridable serialization enabled
- Parameters
-
| Object | owning the property |
| PropertyPath | leading to the property that is about to be overridden |
◆ PostOverrideProperty() [1/2]
To be called after the property of the specified object was overridden Note: Supports object that does not have overridable serialization enabled
- Parameters
-
| Object | owning the property |
| PropertyPath | leading to the property that was overridden |
| ChangeType | of the current operation |
◆ PostOverrideProperty() [2/2]
To be called after the property was overridden of the specified object Note: Supports object that does not have overridable serialization enabled
- Parameters
-
| Object | owning the property |
| PropertyChainEvent | information about the type of change including any container item index |
◆ PreOverrideProperty() [1/2]
To be called prior to override a property of the specified object Note: Supports object that does not have overridable serialization enabled
- Parameters
-
| Object | owning the property |
| PropertyPath | leading to the property about to be overridden |
| ChangeType | optional current operation |
◆ PreOverrideProperty() [2/2]
To be called prior to override a property of the specified object Note: Supports object that does not have overridable serialization enabled
- Parameters
-
| Object | owning the property |
| PropertyChainEvent | information about the type of change including any container item index |
◆ PreOverridePropertyChain()
To be called prior to override a property of the specified object Note: Supports object that does not have overridable serialization enabled
- Parameters
-
| Object | owning the property |
| PropertyChain | leading to the property about to be overridden |
◆ PropagateClearOverridesToInstancedSubObjects()
| void FOverridableManager::PropagateClearOverridesToInstancedSubObjects |
( |
TNotNull< UObject * > |
Object | ) |
|
Propagate the clear overrides to all instanced suboject of the specified object
- Parameters
-
◆ RestoreOverrideOperation()
Restore the override operation from a saved state on this object, and it will enable it if it wasn't already enabled
- Note
- : It will not restore a Modified state has this will be done automatically when sub properties overrides are restored
- Parameters
-
| Object | to set the override operation on |
| Operation | the override operation to set on the object |
| bNeedsSubobjectTemplateInstantiation | set to true if it will need a sub object template instantiation during postload, false will not do it. |
| bDontClearOverrides | set to true if you don't want to stomp any overrides that currently exist |
- Returns
- the overridden properties of the object
◆ RestoreOverrideState()
Restore some of the overridden state that is not necessarily restored by the CPFUO (ex: bWasAdded come from the owner of the object and reinstantiating the object does not preserve it)
- Parameters
-
| OldObject | to old object to restore from the overridden state |
| NewObject | the new object to restore to the overridden state |
◆ SerializeOverriddenProperties()
Serializes the overridden properties of the specified object into the record
- Parameters
-
| Object | to serialize the overridden property |
| ObjectRecord | the record to use for serialization |
◆ TryGet()
- Returns
- the instance managing the overridability if available
- Note
- it is not available only during initialization time
◆ FOverriddenPropertySet
| friend FOverridableManager::FOverriddenPropertySet |
|
protected |
◆ NeedsSubobjectTemplateInstantiation
◆ OverridableManager
The documentation for this class was generated from the following files: