Cleaned up the gui display some more for future GUI elements.
This commit is contained in:
parent
2ced72a475
commit
7b5c84b5f7
5 changed files with 58 additions and 34 deletions
31
gui.cpp
31
gui.cpp
|
@ -33,11 +33,11 @@ GUI::GUI(DinkyECS::World &world, Map& game_map) :
|
|||
$game_map(game_map),
|
||||
$log({{"Welcome to the game!"}}),
|
||||
$view_port{0,0},
|
||||
$screen(SCREEN_X, SCREEN_Y),
|
||||
$status_screen(SCREEN_X, SCREEN_Y),
|
||||
$map_screen(0,0),
|
||||
$world(world),
|
||||
$sounds("./assets"),
|
||||
$renderer($canvas, $map_screen, $screen)
|
||||
$renderer()
|
||||
{
|
||||
// this needs a config file soon
|
||||
// $sounds.load("ambient", "ambient_sound.mp3");
|
||||
|
@ -70,7 +70,12 @@ void GUI::create_renderer() {
|
|||
return canvas($canvas);
|
||||
});
|
||||
|
||||
$document = Renderer([&, player]{
|
||||
$prompt = Renderer([&] {
|
||||
return hbox({hflow(vbox(text("HELLO!")))}) | border;
|
||||
});
|
||||
|
||||
|
||||
$status_ui = Renderer([&, player]{
|
||||
const auto& player_combat = $world.get<Combat>(player.entity);
|
||||
const auto& inventory = $world.get<Inventory>(player.entity);
|
||||
$status_text = player_combat.hp > 0 ? "NOT DEAD" : "DEAD!!!!!!";
|
||||
|
@ -192,17 +197,29 @@ void GUI::shake() {
|
|||
int x = Random::uniform<int>(-10,10);
|
||||
int y = Random::uniform<int>(-10,10);
|
||||
// add x/y back to draw screen
|
||||
$renderer.draw_screen(true, x, y);
|
||||
$renderer.draw_screen($map_screen, x, y);
|
||||
std::this_thread::sleep_for(1ms);
|
||||
}
|
||||
}
|
||||
|
||||
void GUI::render_scene() {
|
||||
$screen.Clear();
|
||||
$renderer.clear();
|
||||
|
||||
$status_screen.Clear();
|
||||
Render($status_screen, $status_ui->Render());
|
||||
$renderer.draw_text_ui($status_screen, 0, 0);
|
||||
|
||||
$map_screen.Clear();
|
||||
Render($map_screen, $map_view->Render());
|
||||
Render($screen, $document->Render());
|
||||
$renderer.draw_screen();
|
||||
$renderer.draw_screen($map_screen);
|
||||
|
||||
/*
|
||||
Screen prompt_screen(30,10);
|
||||
Render(prompt_screen, $prompt->Render());
|
||||
$renderer.draw_text_ui(prompt_screen, 700, 300);
|
||||
*/
|
||||
|
||||
$renderer.display();
|
||||
}
|
||||
|
||||
int GUI::main() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue