|
| 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 |
| |
|
|
| AZ_DISABLE_COPY_MOVE (InstanceDataHierarchy) |
| |
|
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 |
| |