Simply re-init the overlay on new level. Closes #14.

master
Zed A. Shaw 5 hours ago
parent 02c42eb042
commit 6a0725e401
  1. 4
      gui/overlay_ui.cpp
  2. 2
      worldbuilder.cpp

@ -14,6 +14,7 @@ namespace gui {
"[_|middle|middle_right]"
"[_|bottom|bottom_right]"
);
$gui.init();
}
inline void make_clickable_area(GameLevel& level, guecs::UI &gui, const std::string &name) {
@ -27,7 +28,7 @@ namespace gui {
}
void OverlayUI::init() {
$gui.init();
// gui.init is in the constructor
make_clickable_area($level, $gui, "top");
make_clickable_area($level, $gui, "middle");
make_clickable_area($level, $gui, "bottom");
@ -64,5 +65,6 @@ namespace gui {
void OverlayUI::update_level(GameLevel level) {
$level = level;
init();
}
}

@ -139,7 +139,7 @@ inline json& random_entity_data(GameConfig& config, json& gen_config) {
int rand_entity = Random::uniform<int>(0, keys.size() - 1);
std::string key = keys[rand_entity];
// BUG: this may crash if PLAYER_TILE isn't first
return entity_db[key];
}

Loading…
Cancel
Save