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::EntityStateCommand Class Reference

Inherits AzToolsFramework::UndoSystem::URSequencePoint.

Inherited by AzToolsFramework::EntityCreateCommand, and AzToolsFramework::EntityDeleteCommand.

Public Member Functions

 AZ_RTTI (EntityStateCommand, "{4461579F-9D39-4954-B5D4-0F9388C8D15D}", UndoSystem::URSequencePoint)
 
 AZ_CLASS_ALLOCATOR (EntityStateCommand, AZ::SystemAllocator)
 
 EntityStateCommand (UndoSystem::URCommandID ID, const char *friendlyName=nullptr)
 
void Undo () override
 
void Redo () override
 
void Capture (AZ::Entity *pSourceEntity, bool captureUndo)
 
AZ::EntityId GetEntityID () const
 
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 Member Functions

void RestoreEntity (const AZ::u8 *buffer, AZStd::size_t bufferSizeBytes, const AZ::SliceComponent::EntityRestoreInfo &sliceRestoreInfo) const
 
 EntityStateCommand (const EntityStateCommand &other)=delete
 
const EntityStateCommandoperator= (const EntityStateCommand &other)=delete
 
- Protected Member Functions inherited from AzToolsFramework::UndoSystem::URSequencePoint
void AddChild (URSequencePoint *)
 
void RemoveChild (URSequencePoint *)
 

Protected Attributes

AZ::EntityId m_entityID
 The Id of the captured entity.
 
AzFramework::EntityContextId m_entityContextId
 The entity context to which the entity belongs (if any).
 
AZ::Entity::State m_entityState
 The entity state at time of capture (active, constructed, etc).
 
bool m_isSelected
 Whether the entity was selected at time of capture.
 
AZ::SliceComponent::EntityRestoreInfo m_undoSliceRestoreInfo
 
AZ::SliceComponent::EntityRestoreInfo m_redoSliceRestoreInfo
 
AZStd::vector< AZ::u8 > m_undoState
 
AZStd::vector< AZ::u8 > m_redoState
 
- 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
 

Member Function Documentation

◆ Changed()

bool AzToolsFramework::EntityStateCommand::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::EntityStateCommand::Redo ( )
overridevirtual

◆ Undo()

void AzToolsFramework::EntityStateCommand::Undo ( )
overridevirtual

Usage: override with class specific actions

Reimplemented from AzToolsFramework::UndoSystem::URSequencePoint.

Reimplemented in AzToolsFramework::EntityDeleteCommand, and AzToolsFramework::EntityCreateCommand.


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