You can now take damage to your head.

This commit is contained in:
Zed A. Shaw 2026-03-29 23:54:21 -04:00
parent cbd4b858ac
commit d22eaa554d
7 changed files with 64 additions and 49 deletions

View file

@ -15,13 +15,13 @@ namespace gui {
void BodyUI::init(size_t x, size_t y, size_t width, size_t height) {
$gui.position(x, y, width, height);
$gui.layout(
"[body_head]"
"[body_chest]"
"[body_right_arm]"
"[body_left_arm]"
"[body_stomach]"
"[body_left_leg]"
"[body_right_leg]");
"[head]"
"[chest]"
"[right_arm]"
"[left_arm]"
"[stomach]"
"[left_leg]"
"[right_leg]");
$gui.set<Background>($gui.MAIN, {$gui.$parser, });
@ -42,7 +42,16 @@ namespace gui {
void BodyUI::update() {
auto world = GameDB::current_world();
auto player = world->get_the<components::Player>();
auto& player = world->get_the<components::Player>();
auto& player_combat = world->get<components::Combat>(player.entity);
for(auto& [key, value] : player_combat.body_parts) {
auto gui_id = $gui.entity(key);
if(auto meter = $gui.get_if<Meter>(gui_id)) {
meter->percent = float(value) / 50.0;
}
}
}
void BodyUI::render(sf::RenderWindow &window) {

View file

@ -48,7 +48,6 @@ namespace gui {
auto map = level.map;
std::wstring stats = $F(L"STATS\n"
L"HP: {}\n"
L"mean:{:>8.5}\n"
L"sdev: {:>8.5}\n"
L"min: {:>8.5}\n"
@ -58,7 +57,7 @@ namespace gui {
L"VSync? {}\n"
L"FR Limit: {}\n"
L"Debug? {}\n\n",
player_combat.hp, $stats.mean(), $stats.stddev(), $stats.min,
$stats.mean(), $stats.stddev(), $stats.min,
$stats.max, $stats.n, level.index, map->width(), map->height(),
VSYNC, FRAME_LIMIT, DEBUG_BUILD);
@ -74,9 +73,6 @@ namespace gui {
if(active) {
auto& level = GameDB::current_level();
// it's on now, enable things
auto player = level.world->get_the<components::Player>();
auto& player_combat = level.world->get<components::Combat>(player.entity);
player_combat.hp = player_combat.max_hp;
$gui.show_text("debug_text", L"STATS");
} else {
// it's off now, close it