Simply re-init the overlay on new level. Closes #14.
This commit is contained in:
parent
02c42eb042
commit
6a0725e401
2 changed files with 4 additions and 2 deletions
|
@ -14,6 +14,7 @@ namespace gui {
|
||||||
"[_|middle|middle_right]"
|
"[_|middle|middle_right]"
|
||||||
"[_|bottom|bottom_right]"
|
"[_|bottom|bottom_right]"
|
||||||
);
|
);
|
||||||
|
$gui.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void make_clickable_area(GameLevel& level, guecs::UI &gui, const std::string &name) {
|
inline void make_clickable_area(GameLevel& level, guecs::UI &gui, const std::string &name) {
|
||||||
|
@ -27,7 +28,7 @@ namespace gui {
|
||||||
}
|
}
|
||||||
|
|
||||||
void OverlayUI::init() {
|
void OverlayUI::init() {
|
||||||
$gui.init();
|
// gui.init is in the constructor
|
||||||
make_clickable_area($level, $gui, "top");
|
make_clickable_area($level, $gui, "top");
|
||||||
make_clickable_area($level, $gui, "middle");
|
make_clickable_area($level, $gui, "middle");
|
||||||
make_clickable_area($level, $gui, "bottom");
|
make_clickable_area($level, $gui, "bottom");
|
||||||
|
@ -64,5 +65,6 @@ namespace gui {
|
||||||
|
|
||||||
void OverlayUI::update_level(GameLevel level) {
|
void OverlayUI::update_level(GameLevel level) {
|
||||||
$level = 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);
|
int rand_entity = Random::uniform<int>(0, keys.size() - 1);
|
||||||
std::string key = keys[rand_entity];
|
std::string key = keys[rand_entity];
|
||||||
// BUG: this may crash if PLAYER_TILE isn't first
|
|
||||||
return entity_db[key];
|
return entity_db[key];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue