示例#1
0
	void CmdRecordSO::execute(const HSceneObject& sceneObject, bool recordHierarchy, const String& description)
	{
		// Register command and commit it
		CmdRecordSO* command = new (bs_alloc<CmdRecordSO>()) CmdRecordSO(description, sceneObject, recordHierarchy);
		SPtr<CmdRecordSO> commandPtr = bs_shared_ptr(command);

		UndoRedo::instance().registerCommand(commandPtr);
		commandPtr->commit();
	}
示例#2
0
	void UndoRedo::redo()
	{
		if(mRedoNumElements == 0)
			return;

		SPtr<EditorCommand> command = mRedoStack[mRedoStackPtr];
		mRedoStack[mRedoStackPtr] = SPtr<EditorCommand>();
		mRedoStackPtr = (mRedoStackPtr - 1) % MAX_STACK_ELEMENTS;
		mRedoNumElements--;

		addToUndoStack(command);

		command->commit();
	}