I have the overlay display the low health blood using the gui system.

This commit is contained in:
Zed A. Shaw 2025-02-20 08:41:45 -05:00
parent 70a9420c11
commit d8e1fc7aa3
5 changed files with 50 additions and 24 deletions

View file

@ -18,7 +18,7 @@ namespace gui {
$map_view($level),
$combat_view($level),
$status_view($level),
$overlay_view($level),
$overlay_view($level, $textures),
$font{FONT_FILE_NAME},
$text{$font},
$rayview($textures, RAY_VIEW_WIDTH, RAY_VIEW_HEIGHT)
@ -54,7 +54,7 @@ namespace gui {
$rayview.position_camera($player.x + 0.5, $player.y + 0.5);
$combat_view.render($textures);
$overlay_view.render($textures);
$overlay_view.render();
$status_view.render($textures);
$status_view.log("Welcome to the game!");
@ -301,10 +301,7 @@ namespace gui {
auto player = $level.world->get_the<Player>();
auto player_combat = $level.world->get<Combat>(player.entity);
if(float(player_combat.hp) / float(player_combat.max_hp) < 0.5) {
$overlay_view.set<guecs::Sprite>("middle", {"blood_splatter"});
$overlay_view.$gui.init($textures);
}
$overlay_view.show_damage(float(player_combat.hp) / float(player_combat.max_hp) < 0.5);
}
void FSM::draw_gui() {