Mostly working overlay to show when in combat or not.
This commit is contained in:
parent
30a7e1b2cc
commit
4a1a8a7d65
4 changed files with 66 additions and 32 deletions
15
gui.cpp
15
gui.cpp
|
@ -157,6 +157,7 @@ namespace gui {
|
|||
state(State::ATTACKING);
|
||||
break;
|
||||
case START_COMBAT:
|
||||
$overlay_view.show_sprite("top_right", "cinqueda");
|
||||
state(State::IN_COMBAT);
|
||||
break;
|
||||
case CLOSE:
|
||||
|
@ -188,6 +189,7 @@ namespace gui {
|
|||
state(State::COMBAT_ROTATE);
|
||||
break;
|
||||
case STOP_COMBAT:
|
||||
$overlay_view.close_sprite("top_right");
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case QUIT:
|
||||
|
@ -273,10 +275,10 @@ namespace gui {
|
|||
auto& player_combat = $level.world->get<Combat>(player.entity);
|
||||
player_combat.hp = player_combat.max_hp;
|
||||
$combat_view.set_damage(float(player_combat.hp) / float(player_combat.max_hp));
|
||||
$overlay_view.init_stats();
|
||||
$overlay_view.show_text("top_left", "STATS");
|
||||
} else {
|
||||
// it's off now, close it
|
||||
$overlay_view.close_stats();
|
||||
$overlay_view.close_text("top_left");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -297,14 +299,17 @@ namespace gui {
|
|||
$stats.max, $stats.n, VSYNC,
|
||||
FRAME_LIMIT, DEBUG_BUILD);
|
||||
|
||||
$overlay_view.draw_stats(stats);
|
||||
$overlay_view.update_text("top_left", stats);
|
||||
}
|
||||
|
||||
void FSM::draw_blood() {
|
||||
auto player = $level.world->get_the<Player>();
|
||||
auto player_combat = $level.world->get<Combat>(player.entity);
|
||||
|
||||
$overlay_view.show_damage(float(player_combat.hp) / float(player_combat.max_hp) < 0.5);
|
||||
if(float(player_combat.hp) / float(player_combat.max_hp) < 0.5) {
|
||||
$overlay_view.show_sprite("middle", "blood_splatter");
|
||||
} else {
|
||||
$overlay_view.close_sprite("middle");
|
||||
}
|
||||
}
|
||||
|
||||
void FSM::draw_gui() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue