Open 3D Engine AzToolsFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzToolsFramework::ClearSliceDataFlagsBelowAddressCommand Class Reference

#include <SliceDataFlagsCommand.h>

Inherits AzToolsFramework::UndoSystem::URSequencePoint.

Public Member Functions

 AZ_CLASS_ALLOCATOR (ClearSliceDataFlagsBelowAddressCommand, AZ::SystemAllocator)
 
 AZ_RTTI (ClearSliceDataFlagsBelowAddressCommand, "{3128AD23-40EB-4DEE-A16A-3FA04D94B573}", UndoSystem::URSequencePoint)
 
 ClearSliceDataFlagsBelowAddressCommand (const AZ::EntityId &entityId, const AZ::DataPatch::AddressType &targetDataAddress, const AZStd::string &friendlyName, UndoSystem::URCommandID commandId=0)
 
void Undo () override
 
void Redo () override
 
bool Changed () const override
 
- Public Member Functions inherited from AzToolsFramework::UndoSystem::URSequencePoint
 URSequencePoint (const AZStd::string &friendlyName, URCommandID id=0)
 
 URSequencePoint (URCommandID id)
 
virtual ~URSequencePoint ()
 
void RunUndo ()
 
void RunRedo ()
 
virtual void Undo ()
 
virtual void Redo ()
 
virtual bool Changed () const =0
 
URSequencePointFind (URCommandID id, const AZ::Uuid &typeOfCommand)
 
void SetName (const AZStd::string &friendlyName)
 
AZStd::string & GetName ()
 
void SetParent (URSequencePoint *parent)
 
URSequencePointGetParent () const
 
const ChildVec & GetChildren () const
 
bool HasRealChildren () const
 
void ApplyToTree (const ApplyOperationCB &applyCB)
 
bool IsPosted () const
 
bool operator== (const URCommandID id) const
 
bool operator== (const URSequencePoint *com) const
 

Protected Attributes

AZ::EntityId m_entityId
 
AZ::DataPatch::AddressType m_dataAddress
 
AZ::DataPatch::FlagsMap m_previousDataFlagsMap
 
AZ::DataPatch::FlagsMap m_nextDataFlagsMap
 
- Protected Attributes inherited from AzToolsFramework::UndoSystem::URSequencePoint
AZStd::string m_friendlyName
 
URCommandID m_id
 
ChildVec m_children
 
URSequencePointm_parent
 
bool m_isPosted
 

Additional Inherited Members

- Public Types inherited from AzToolsFramework::UndoSystem::URSequencePoint
typedef AZStd::vector< URSequencePoint * > ChildVec
 
typedef AZStd::function< void(URSequencePoint *) > ApplyOperationCB
 
- Public Attributes inherited from AzToolsFramework::UndoSystem::URSequencePoint
friend UndoStack
 
- Protected Member Functions inherited from AzToolsFramework::UndoSystem::URSequencePoint
void AddChild (URSequencePoint *)
 
void RemoveChild (URSequencePoint *)
 

Detailed Description

Undoable command for clearing any data flags at, or below, a given data address. For example, removing data flags from a component and any data within it. Data flags affect how inheritance works within a slice (see AZ::DataPatch::Flag).

Constructor & Destructor Documentation

◆ ClearSliceDataFlagsBelowAddressCommand()

AzToolsFramework::ClearSliceDataFlagsBelowAddressCommand::ClearSliceDataFlagsBelowAddressCommand ( const AZ::EntityId &  entityId,
const AZ::DataPatch::AddressType &  targetDataAddress,
const AZStd::string &  friendlyName,
UndoSystem::URCommandID  commandId = 0 
)
Parameters
entityIdThe entity to whose data flags are being cleared.
targetDataAddressAn address relative to the entity. All data flags at, or below, this address will be cleared.

Member Function Documentation

◆ Changed()

bool AzToolsFramework::ClearSliceDataFlagsBelowAddressCommand::Changed ( ) const
inlineoverridevirtual

Usage: override with class specific change comparison between undo/redo state. This allows the undo system to remove commands that have no actual effect (Eg: a command that changes a value from 5 to 5 has no effect and can be removed)

Implements AzToolsFramework::UndoSystem::URSequencePoint.

◆ Redo()

void AzToolsFramework::ClearSliceDataFlagsBelowAddressCommand::Redo ( )
overridevirtual

◆ Undo()

void AzToolsFramework::ClearSliceDataFlagsBelowAddressCommand::Undo ( )
overridevirtual

Usage: override with class specific actions

Reimplemented from AzToolsFramework::UndoSystem::URSequencePoint.


The documentation for this class was generated from the following file: