Initial idea for the boss fight UI but it's just a temporary holder for now.

This commit is contained in:
Zed A. Shaw 2025-02-27 15:24:17 -05:00
parent a72d2879fd
commit 64807174c0
16 changed files with 165 additions and 36 deletions

View file

@ -45,10 +45,11 @@ namespace gui {
$main_ui.init();
$combat_ui.render();
$status_ui.render();
$combat_ui.init();
$status_ui.init();
$status_ui.log("Welcome to the game!");
$status_ui.update();
$boss_fight_ui.init();
$renderer.init_terminal();
$map_ui.create_render();
@ -162,7 +163,7 @@ namespace gui {
dbc::log("Nothing to close.");
break;
case STAIRS_DOWN:
$main_ui.show_level();
// $main_ui.show_level();
state(State::NEXT_LEVEL);
break;
case STOP_COMBAT:
@ -243,9 +244,13 @@ namespace gui {
if(const auto* mouse = ev->getIf<sf::Event::MouseButtonPressed>()) {
if(mouse->button == sf::Mouse::Button::Left) {
sf::Vector2f pos = $window.mapPixelToCoords(mouse->position);
$combat_ui.$gui.mouse(pos.x, pos.y);
$status_ui.$gui.mouse(pos.x, pos.y);
$main_ui.mouse(pos.x, pos.y);
if(in_state(State::NEXT_LEVEL)) {
$boss_fight_ui.mouse(pos.x, pos.y);
} else {
$combat_ui.$gui.mouse(pos.x, pos.y);
$status_ui.$gui.mouse(pos.x, pos.y);
$main_ui.mouse(pos.x, pos.y);
}
}
}
@ -290,6 +295,9 @@ namespace gui {
case KEY::O:
autowalking = true;
break;
case KEY::L:
event(Event::STAIRS_DOWN);
break;
default:
break; // ignored
}
@ -298,9 +306,13 @@ namespace gui {
}
void FSM::draw_gui() {
$main_ui.draw();
$status_ui.draw($window);
$combat_ui.draw($window);
if(in_state(State::NEXT_LEVEL)) {
$boss_fight_ui.render($window);
} else {
$main_ui.render();
$status_ui.render($window);
$combat_ui.render($window);
}
}
void FSM::render() {
@ -308,6 +320,10 @@ namespace gui {
$window.clear();
$map_ui.render();
$renderer.draw($map_ui);
} else if(in_state(State::NEXT_LEVEL)) {
$window.clear();
$boss_fight_ui.init();
$boss_fight_ui.render($window);
} else {
draw_gui();
}