|
enum | Flags { None = 0x00
, IgnoreKeyValuePairs = 0x01
} |
|
typedef AZStd::function< void(InstanceDataNode *, AZStd::vector< AZ::u8 > &)> | NewNodeCB |
| Callback to receive notification of nodes found in the target hierarchy, but not the source hierarchy.
|
|
typedef AZStd::function< void(const InstanceDataNode *, InstanceDataNode *)> | RemovedNodeCB |
| Callback to receive notification of nodes found in the source hierarchy, but not the target hierarchy.
|
|
typedef AZStd::function< void(const InstanceDataNode *, InstanceDataNode *, AZStd::vector< AZ::u8 > &, AZStd::vector< AZ::u8 > &)> | ChangedNodeCB |
| Callback to receive notification of nodes found in both hierarchies, but with differing values.
|
|
typedef AZStd::function< bool(const InstanceDataNode *, const InstanceDataNode *)> | ValueComparisonFunction |
|
typedef AZStd::function< void(InstanceDataNode *)> | ContainerChildNodeBeingRemovedCB |
| Callback to receive notification of container child nodes found in the target hierarchy, but not the source hierarchy that will be removed.
|
|
typedef AZStd::function< void(const InstanceDataNode *, InstanceDataNode *)> | ContainerChildNodeBeingCreatedCB |
| Callback to receive notification of container child nodes found in the source hierarchy, but not the target hierarchy that will be copied to target.
|
|
enum class | ComparisonFlags : AZ::u32 { None = 0
, New = (1 << 0)
, Differs = (1 << 1)
, Removed = (1 << 2)
} |
|
typedef AZStd::list< InstanceDataNode > | NodeContainer |
|
using | Identifier = AZ::u64 |
| Field address structure, which is a string of the 64-bit addresses of each ancestor along the hierarchy.
|
|
using | Address = AZStd::vector< Identifier > |
|
typedef AZStd::function< const AZ::SerializeContext::ClassData *(const AZ::Uuid &classId, const AZ::Uuid &typeId, AZ::SerializeContext *context)> | SelectClassCallback |
| Has this node (or children if specified) changed in any way from their comparison node.
|
|
typedef AZStd::function< bool(void *dataPtr, const AZ::SerializeContext::ClassElement *classElement, bool noDefaultData, AZ::SerializeContext *context)> | FillDataClassCallback |
|
typedef AZStd::function< void(const AZ::Uuid &classId)> | CustomElementCreationHandler |
|
|
void | AddRootInstance (void *instance, const AZ::Uuid &classId) |
|
void | AddComparisonInstance (void *instance, const AZ::Uuid &classId) |
|
bool | ContainsRootInstance (const void *instance) const |
|
template<typename T > |
void | AddRootInstance (T *instance) |
|
template<typename T > |
void | AddComparisonInstance (T *instance) |
|
InstanceDataNode * | GetRootNode () |
|
void | SetBuildFlags (AZ::u8 flags) |
|
void | FixupEditData () |
|
void | Build (AZ::SerializeContext *sc, unsigned int accessFlags, DynamicEditDataProvider dynamicEditDataProvider=DynamicEditDataProvider(), ComponentEditor *editorParent=nullptr) |
|
bool | RefreshComparisonData (unsigned int accessFlags, DynamicEditDataProvider dynamicEditDataProvider) |
|
void | SetValueComparisonFunction (const ValueComparisonFunction &function) |
| Set a custom ValueComparisonFunction.
|
|
InstanceDataNode * | FindNodeByAddress (const InstanceDataNode::Address &address) const |
| Locate a node by full address.
|
|
InstanceDataNode * | FindNodeByPartialAddress (const InstanceDataNode::Address &address) const |
| Locate a node by partial address (bfs to find closest match)
|
|
template<class T > |
bool | Read (T &value) |
| Read a value into a variable of type T. Returns true if values read are the same across all instances in this node.
|
|
bool | ReadRaw (void *&valuePtr, AZ::TypeId valueType) |
|
template<class T > |
void | Write (const T &value) |
| Write a value to the node (same value is written to all instances regardless of their original value).
|
|
void | WriteRaw (const void *valuePtr, AZ::TypeId valueType) |
|
bool | IsMultiInstance () const |
| Check if have more than one instance for this node.
|
|
size_t | GetNumInstances () const |
|
bool | HasInstances () const |
|
void * | GetInstance (size_t idx) const |
|
void ** | GetInstanceAddress (size_t idx) const |
|
void * | FirstInstance () const |
|
InstanceDataNode * | GetRoot () const |
|
InstanceDataNode * | GetParent () const |
|
NodeContainer & | GetChildren () |
|
const NodeContainer & | GetChildren () const |
|
const AZ::SerializeContext::ClassData * | GetClassMetadata () const |
|
const AZ::SerializeContext::ClassElement * | GetElementMetadata () const |
|
const AZ::Edit::ElementData * | GetElementEditMetadata () const |
|
const AZ::Edit::ElementData * | GetGroupElementMetadata () const |
|
AZ::SerializeContext * | GetSerializeContext () const |
|
void | MarkNewVersusComparison () |
| Flags management when using a comparison instance.
|
|
void | MarkDifferentVersusComparison () |
| This node differs from that of the comparison instance.
|
|
void | MarkRemovedVersusComparison () |
| This node does not exist in the target hierarchy.
|
|
void | ClearComparisonData () |
| Clear comparison flags (for re-computation).
|
|
bool | IsNewVersusComparison () const |
| Has this node been flagged as new vs. the comparison instance?
|
|
bool | IsDifferentVersusComparison () const |
| Has this node been flagged as different from the comparison instance?
|
|
bool | IsRemovedVersusComparison () const |
| Is this node not in the comparison instance?
|
|
const InstanceDataNode * | GetComparisonNode () const |
| Retrieves the corresopnding node in the comparison hierarchy, if relevant.
|
|
bool | HasChangesVersusComparison (bool includeChildren) const |
|
bool | CreateContainerElement (const SelectClassCallback &selectClass, const FillDataClassCallback &fillData) |
|
bool | ChildMatchesAddress (const InstanceDataNode::Address &elementAddress) const |
|
Address | ComputeAddress () const |
|
AZ::Edit::Attribute * | FindAttribute (AZ::Edit::AttributeId nameCrc) const |
| Check the element edit data, class element, and class data for the specified attribute.
|
|
template<class T > |
bool | ReadAttribute (AZ::Edit::AttributeId nameCrc, T &value, bool readChildAttributes=false) const |
| Read the value T of the specified attribute into value if it exists and shares the same value across all instances.
|
|
|
InstanceDataNode * | m_curParentNode |
|
bool | m_isMerging |
|
bool | m_nodeDiscarded |
|
int | m_childIndexOverride = -1 |
|
InstanceDataArray | m_rootInstances |
| Array with aggregated root instances.
|
|
SupplementalElementDataContainer | m_supplementalElementData |
| List of additional element data generated during traversal for elements.
|
|
SupplementalEditDataContainer | m_supplementalEditData |
| List of additional edit data generated during traversal for elements.
|
|
EditDataOverrideStack | m_editDataOverrides |
|
InstanceDataArray | m_comparisonInstances |
| Optional comparison instance for Override recognition.
|
|
AZStd::vector< AZStd::unique_ptr< InstanceDataHierarchy > > | m_comparisonHierarchies |
| Hierarchy representing comparison instance.
|
|
ValueComparisonFunction | m_valueComparisonFunction |
| Customizable function for comparing value nodes.
|
|
AZ::u8 | m_buildFlags = 0 |
| Flags to customize behavior during Build.
|
|
InstanceArray | m_instances |
|
InstanceDataNode * | m_parent |
|
InstanceDataNode * | m_root |
|
NodeContainer | m_children |
|
const AZ::SerializeContext::ClassData * | m_classData |
|
const AZ::SerializeContext::ClassElement * | m_classElement |
|
const AZ::Edit::ElementData * | m_elementEditData |
|
AZ::SerializeContext * | m_context |
|
AZ::u32 | m_comparisonFlags |
|
const InstanceDataNode * | m_comparisonNode |
|
bool | m_matched |
|
Identifier | m_identifier |
|
const AZ::Edit::ElementData * | m_groupElementData |
|