Now have a full map and a mini map, but I think the mini map will stop rendering sometimes.
This commit is contained in:
parent
193d97eb48
commit
322797f787
15 changed files with 120 additions and 36 deletions
23
gui_fsm.cpp
23
gui_fsm.cpp
|
@ -18,6 +18,8 @@ namespace gui {
|
|||
$level($levels.current()),
|
||||
$combat_ui($level),
|
||||
$status_ui($level),
|
||||
$map_ui($level),
|
||||
$mini_map($level),
|
||||
$font{FONT_FILE_NAME}
|
||||
{
|
||||
}
|
||||
|
@ -42,12 +44,15 @@ namespace gui {
|
|||
$main_ui.init();
|
||||
$combat_ui.init();
|
||||
$status_ui.init();
|
||||
|
||||
$status_ui.log("Welcome to the game!");
|
||||
$status_ui.update();
|
||||
|
||||
$boss_fight_ui = $levels.create_bossfight($level.world);
|
||||
$boss_fight_ui->init();
|
||||
|
||||
$map_ui.init();
|
||||
$mini_map.init($main_ui.$overlay_ui.$gui);
|
||||
|
||||
run_systems();
|
||||
state(State::IDLE);
|
||||
}
|
||||
|
@ -126,13 +131,13 @@ namespace gui {
|
|||
state(State::ROTATING);
|
||||
break;
|
||||
case MAP_OPEN:
|
||||
$status_ui.map_open = !$status_ui.map_open;
|
||||
$map_open = !$map_open;
|
||||
break;
|
||||
case ATTACK:
|
||||
state(State::ATTACKING);
|
||||
break;
|
||||
case START_COMBAT:
|
||||
$main_ui.$overlay_ui.show_sprite("top_right", "cinqueda");
|
||||
$map_open = false;
|
||||
state(State::IN_COMBAT);
|
||||
break;
|
||||
case CLOSE:
|
||||
|
@ -291,10 +296,13 @@ namespace gui {
|
|||
$boss_fight_ui->render($window);
|
||||
} else {
|
||||
$main_ui.render();
|
||||
|
||||
$status_ui.render($window);
|
||||
|
||||
$combat_ui.render($window);
|
||||
if($map_open) {
|
||||
$map_ui.render($window);
|
||||
} else {
|
||||
$mini_map.render($window);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -359,7 +367,6 @@ namespace gui {
|
|||
// $status_ui.log(fmt::format("You picked up a {}.",
|
||||
// std::string(item.data["name"])));
|
||||
$status_ui.log("You picked up an item.");
|
||||
$status_ui.update();
|
||||
} break;
|
||||
case eGUI::ATTACK:
|
||||
event(Event::ATTACK);
|
||||
|
@ -378,11 +385,9 @@ namespace gui {
|
|||
auto name = std::any_cast<std::string>(data);
|
||||
$status_ui.log(fmt::format("NOOP EVENT! {},{} name={}", evt, entity, name));
|
||||
}
|
||||
$status_ui.update();
|
||||
} break;
|
||||
default:
|
||||
$status_ui.log(fmt::format("INVALID EVENT! {},{}", evt, entity));
|
||||
$status_ui.update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -392,8 +397,10 @@ namespace gui {
|
|||
$level = $levels.next();
|
||||
|
||||
$status_ui.update_level($level);
|
||||
$map_ui.update_level($level);
|
||||
$combat_ui.update_level($level);
|
||||
$main_ui.update_level($level);
|
||||
|
||||
$boss_fight_ui = $levels.create_bossfight($level.world);
|
||||
$boss_fight_ui->init();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue