#pragma once #include #include #include #include #include #include #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 update(const sf::Event &event); void render(const sf::RenderWindow &window); private: Tileset &tileset; TileFloor &floor; float rotation; std::optional> selectedTile; std::optional newTileState; }; }