#pragma once #include "levelmanager.hpp" #include "textures.hpp" #include "matrix.hpp" #include #include namespace gui { class MapViewUI { public: guecs::UI $gui; DinkyECS::Entity $log_to; EntityGrid $entity_map; std::deque $messages; GameLevel $level; std::shared_ptr $map_render; sf::Sprite $map_sprite; matrix::Matrix $map_tiles; textures::SpriteTexture $paper; MapViewUI(GameLevel &level); void init(); void render(sf::RenderWindow &window, int compass_dir); void update_level(GameLevel &level); void log(std::wstring msg); void update(); void save_map(int compass_dir); }; }