parent
193d97eb48
commit
322797f787
After Width: | Height: | Size: 1.1 MiB |
@ -0,0 +1,39 @@ |
|||||||
|
#include "mini_map.hpp" |
||||||
|
#include <functional> |
||||||
|
#include <string> |
||||||
|
#include "dbc.hpp" |
||||||
|
#include "components.hpp" |
||||||
|
#include "rand.hpp" |
||||||
|
#include "animation.hpp" |
||||||
|
#include "systems.hpp" |
||||||
|
#include "rand.hpp" |
||||||
|
#include <codecvt> |
||||||
|
#include <iostream> |
||||||
|
#include <memory> |
||||||
|
|
||||||
|
namespace gui { |
||||||
|
using namespace components; |
||||||
|
|
||||||
|
MiniMapUI::MiniMapUI(GameLevel &level) : |
||||||
|
$map_grid{L"...", 45, {200, 200, 200, 100}, 10}, |
||||||
|
$level(level) |
||||||
|
{ |
||||||
|
$font = std::make_shared<sf::Font>(FONT_FILE_NAME); |
||||||
|
} |
||||||
|
|
||||||
|
void MiniMapUI::update_level(GameLevel &level) { |
||||||
|
$level = level; |
||||||
|
} |
||||||
|
|
||||||
|
void MiniMapUI::init(guecs::UI& overlay) { |
||||||
|
auto top_right = overlay.entity("top_right"); |
||||||
|
auto cell = overlay.cell_for(top_right); |
||||||
|
$map_grid.init(cell, $font); |
||||||
|
} |
||||||
|
|
||||||
|
void MiniMapUI::render(sf::RenderWindow &window) { |
||||||
|
std::wstring map_out = System::draw_map($level, 5, 3); |
||||||
|
$map_grid.update(map_out); |
||||||
|
window.draw(*$map_grid.text); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
#pragma once |
||||||
|
#include "levelmanager.hpp" |
||||||
|
#include "textures.hpp" |
||||||
|
#include "guecs.hpp" |
||||||
|
#include "tilemap.hpp" |
||||||
|
|
||||||
|
namespace gui { |
||||||
|
class MiniMapUI { |
||||||
|
public: |
||||||
|
guecs::WideText $map_grid; |
||||||
|
guecs::UI $gui; |
||||||
|
GameLevel $level; |
||||||
|
shared_ptr<sf::Font> $font = nullptr; |
||||||
|
|
||||||
|
MiniMapUI(GameLevel &level); |
||||||
|
void init(guecs::UI& overlay); |
||||||
|
void render(sf::RenderWindow &window); |
||||||
|
void update_level(GameLevel &level); |
||||||
|
}; |
||||||
|
} |
Loading…
Reference in new issue