summaryrefslogtreecommitdiff
path: root/src/editor.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/editor.hpp')
-rw-r--r--src/editor.hpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/editor.hpp b/src/editor.hpp
new file mode 100644
index 0000000..eba7f14
--- /dev/null
+++ b/src/editor.hpp
@@ -0,0 +1,31 @@
+#pragma once
+
+#include <SFML/Graphics/RenderWindow.hpp>
+#include <SFML/Graphics/Texture.hpp>
+#include <optional>
+#include <string>
+
+#include "floor.hpp"
+#include "tileset.hpp"
+
+namespace silly::editor {
+ struct NewTileState {
+ std::string path;
+ sf::Texture texture;
+ TilesetTileType type;
+ };
+
+ class Editor {
+ public:
+ Editor(Tileset &tileset, TileFloor &floor)
+ : tileset(tileset), floor(floor) {}
+
+ void update(const sf::RenderWindow &window);
+ void render(const sf::RenderWindow &window);
+
+ private:
+ Tileset &tileset;
+ TileFloor &floor;
+ std::optional<NewTileState> newTileState;
+ };
+} \ No newline at end of file