A retro style homage to 80s dungeon crawlers hand crafted in C++.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
raycaster/gui/map_view.hpp

29 lines
743 B

#pragma once
#include "levelmanager.hpp"
#include "textures.hpp"
#include "matrix.hpp"
#include <guecs/ui.hpp>
#include <string>
namespace gui {
class MapViewUI {
public:
guecs::UI $gui;
DinkyECS::Entity $log_to;
EntityGrid $entity_map;
std::deque<std::wstring> $messages;
GameLevel $level;
std::shared_ptr<sf::RenderTexture> $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);
};
}