Combat UI can now send events to the GUIwhen they click on buttons, and I've got a crappy wood texture for the buttons to test that.
This commit is contained in:
parent
722d55d948
commit
69a810b5a1
7 changed files with 38 additions and 20 deletions
32
gui.cpp
32
gui.cpp
|
@ -108,6 +108,9 @@ namespace gui {
|
|||
dbc::log("Exiting ATTACKING STATE");
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case ATTACK:
|
||||
// ignore these since they're just from SFML not having discrete events
|
||||
break;
|
||||
default:
|
||||
dbc::log(fmt::format("In ATTACKING state, unhandled event {}", (int)ev));
|
||||
}
|
||||
|
@ -249,10 +252,6 @@ namespace gui {
|
|||
case KEY::A:
|
||||
event(Event::MOVE_LEFT);
|
||||
break;
|
||||
case KEY::Space:
|
||||
$rotation = 0;
|
||||
event(Event::ATTACK);
|
||||
break;
|
||||
case KEY::R:
|
||||
$stats.reset();
|
||||
break;
|
||||
|
@ -262,15 +261,8 @@ namespace gui {
|
|||
case KEY::Escape:
|
||||
event(Event::CLOSE);
|
||||
break;
|
||||
case KEY::P: {
|
||||
auto& debug = $level.world->get_the<Debug>();
|
||||
debug.FPS = !debug.FPS;
|
||||
debug.PATHS = !debug.PATHS;
|
||||
auto player = $level.world->get_the<Player>();
|
||||
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));
|
||||
} break;
|
||||
case KEY::P:
|
||||
debug();
|
||||
default:
|
||||
break; // ignored
|
||||
}
|
||||
|
@ -278,6 +270,16 @@ namespace gui {
|
|||
}
|
||||
}
|
||||
|
||||
void FSM::debug() {
|
||||
auto& debug = $level.world->get_the<Debug>();
|
||||
debug.FPS = !debug.FPS;
|
||||
debug.PATHS = !debug.PATHS;
|
||||
auto player = $level.world->get_the<Player>();
|
||||
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));
|
||||
}
|
||||
|
||||
void FSM::draw_weapon() {
|
||||
return;
|
||||
auto weapon = $rayview.$textures.sword.sprite;
|
||||
|
@ -426,6 +428,10 @@ namespace gui {
|
|||
$status_view.log("You picked up an item.");
|
||||
}
|
||||
break;
|
||||
case eGUI::ATTACK:
|
||||
$rotation = 0;
|
||||
event(Event::ATTACK);
|
||||
break;
|
||||
default:
|
||||
$status_view.log(fmt::format("INVALID EVENT! {},{}", evt, entity));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue