ComponentTypeID GetComponentTypeID_Static()
Manages undo/redo stacks for commands.
void Undo()
Undo the last command.
static const size_t MAX_STACK_SIZE
bool CanUndo() const
Check if undo is available.
void Clear()
Clear all commands.
std::vector< std::unique_ptr< ICommand > > m_redoStack
std::string GetUndoDescription() const
Get description of next undo command.
std::string GetRedoDescription() const
Get description of next redo command.
void Redo()
Redo the last undone command.
bool CanRedo() const
Check if redo is available.
void ExecuteCommand(std::unique_ptr< ICommand > cmd)
Execute a command and add to undo stack.
std::vector< std::unique_ptr< ICommand > > m_undoStack
Base interface for all commands.
virtual ~ICommand()=default
virtual std::string GetDescription() const =0
Get description of the command.
virtual void Execute()=0
Execute the command.
virtual void Undo()=0
Undo the command.
< Provides AssetID and INVALID_ASSET_ID