Buttons on screens work and most screens now have a continue/quit button.
This commit is contained in:
parent
532366091b
commit
17f05e7093
9 changed files with 165 additions and 17 deletions
|
|
@ -68,11 +68,18 @@ namespace gui {
|
|||
|
||||
switch(ev) {
|
||||
case MOUSE_CLICK:
|
||||
mouse_action(guecs::NO_MODS);
|
||||
break;
|
||||
case MOUSE_MOVE: {
|
||||
mouse_action({1 << guecs::ModBit::hover});
|
||||
} break;
|
||||
case START:
|
||||
close_scene();
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case MOUSE_MOVE: {
|
||||
} break;
|
||||
case QUIT:
|
||||
FSM::IDLE(ev, {});
|
||||
break;
|
||||
case TICK:
|
||||
break;
|
||||
default:
|
||||
|
|
@ -86,8 +93,17 @@ namespace gui {
|
|||
|
||||
switch(ev) {
|
||||
case MOUSE_CLICK:
|
||||
show_scene("STARTING");
|
||||
state(State::START_SCENE);
|
||||
mouse_action(guecs::NO_MODS);
|
||||
break;
|
||||
case MOUSE_MOVE: {
|
||||
mouse_action({1 << guecs::ModBit::hover});
|
||||
} break;
|
||||
case START:
|
||||
close_scene();
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case QUIT:
|
||||
FSM::IDLE(ev, {});
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
@ -99,8 +115,17 @@ namespace gui {
|
|||
|
||||
switch(ev) {
|
||||
case MOUSE_CLICK:
|
||||
show_scene("STARTING");
|
||||
state(State::START_SCENE);
|
||||
mouse_action(guecs::NO_MODS);
|
||||
break;
|
||||
case MOUSE_MOVE: {
|
||||
mouse_action({1 << guecs::ModBit::hover});
|
||||
} break;
|
||||
case START:
|
||||
close_scene();
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case QUIT:
|
||||
FSM::IDLE(ev, {});
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
@ -112,10 +137,18 @@ namespace gui {
|
|||
|
||||
switch(ev) {
|
||||
case MOUSE_CLICK:
|
||||
next_level();
|
||||
mouse_action(guecs::NO_MODS);
|
||||
break;
|
||||
case MOUSE_MOVE: {
|
||||
mouse_action({1 << guecs::ModBit::hover});
|
||||
} break;
|
||||
case START:
|
||||
close_scene();
|
||||
state(State::IDLE);
|
||||
break;
|
||||
case QUIT:
|
||||
FSM::IDLE(ev, {});
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -246,7 +279,7 @@ namespace gui {
|
|||
fmt::println("!!!!!!!!!!!!!! COMBAT START in IDLE");
|
||||
break;
|
||||
case COMBAT_STOP:
|
||||
fmt::println("!!!!!!!!!!!!!!!! COMBAT STOP in IDLE");
|
||||
fmt::println("!!!!!!!!!!!!!! COMBAT STOP in IDLE");
|
||||
break;
|
||||
default:
|
||||
break; // ignore everything else
|
||||
|
|
@ -278,6 +311,12 @@ namespace gui {
|
|||
|
||||
void FSM::mouse_action(guecs::Modifiers mods) {
|
||||
sf::Vector2f pos = mouse_position();
|
||||
|
||||
if($cur_scene != nullptr) {
|
||||
$cur_scene->mouse(pos.x, pos.y, mods);
|
||||
return;
|
||||
}
|
||||
|
||||
if($debug_ui.active) $debug_ui.mouse(pos.x, pos.y, mods);
|
||||
$status_ui.mouse(pos.x, pos.y, mods);
|
||||
|
||||
|
|
@ -460,6 +499,9 @@ namespace gui {
|
|||
show_scene("NEXT_LEVEL");
|
||||
state(State::NEXT_LEVEL_SCENE);
|
||||
break;
|
||||
case eGUI::START:
|
||||
event(Event::START, data);
|
||||
break;
|
||||
case eGUI::DEATH: {
|
||||
$status_ui.update();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue