Enzo
Loading...
Searching...
No Matches
UndoGroup.h
1#pragma once
2
3#include "Engine/Network/NetworkManager.h"
4#include "Engine/Types.h"
5#include "Engine/UndoRedo/UndoCommand.h"
6
7namespace enzo::nt {
8
9class UndoGroup : public UndoCommand {
10 public:
11 UndoGroup() {}
12
13 void addCommand(nt::UndoCommand &command) { commands_.push_back(command); }
14
15 void undo() override {
16 for (auto it = commands_.end(); it != commands_.begin(); --it) {
17 it->undo();
18 }
19 }
20
21 void redo() override {
22 for (auto it = commands_.begin(); it != commands_.end(); ++it) {
23 it->redo();
24 }
25 }
26
27 UndoCommandType type() const override { return UndoCommandType::UndoGroup; }
28
29 private:
30 std::vector<UndoCommand> commands_;
31};
32
33} // namespace enzo::nt
Basic attribute, parameter, and node types for Enzo.
Definition UndoCommand.h:8
Definition UndoGroup.h:9