Common refactor
This commit is contained in:
+14
-12
@@ -45,6 +45,19 @@ Panel* create_settings_panel(Engine* engine, PagesControl* menu);
|
||||
Panel* create_pause_panel(Engine* engine, PagesControl* menu);
|
||||
Panel* create_languages_panel(Engine* engine, PagesControl* menu);
|
||||
|
||||
void menus::create_menus(Engine* engine, PagesControl* menu) {
|
||||
menu->add("new-world", create_new_world_panel(engine, menu));
|
||||
menu->add("settings", create_settings_panel(engine, menu));
|
||||
menu->add("controls", create_controls_panel(engine, menu));
|
||||
menu->add("pause", create_pause_panel(engine, menu));
|
||||
menu->add("languages", create_languages_panel(engine, menu));
|
||||
menu->add("main", create_main_menu_panel(engine, menu));
|
||||
}
|
||||
|
||||
void menus::refresh_menus(Engine* engine, PagesControl* menu) {
|
||||
menu->add("main", create_main_menu_panel(engine, menu));
|
||||
}
|
||||
|
||||
void show_content_missing(GUI* gui, const Content* content, ContentLUT* lut) {
|
||||
PagesControl* menu = gui->getMenu();
|
||||
Panel* panel = new Panel(vec2(500, 200), vec4(8.0f), 8.0f);
|
||||
@@ -98,15 +111,6 @@ void show_convert_request(GUI* gui, const Content* content, ContentLUT* lut,
|
||||
}, L"", langs::get(L"Cancel"));
|
||||
}
|
||||
|
||||
void create_menus(Engine* engine, PagesControl* menu) {
|
||||
menu->add("new-world", create_new_world_panel(engine, menu));
|
||||
menu->add("settings", create_settings_panel(engine, menu));
|
||||
menu->add("controls", create_controls_panel(engine, menu));
|
||||
menu->add("pause", create_pause_panel(engine, menu));
|
||||
menu->add("languages", create_languages_panel(engine, menu));
|
||||
menu->add("main", create_main_menu_panel(engine, menu));
|
||||
}
|
||||
|
||||
Panel* create_languages_panel(Engine* engine, PagesControl* menu) {
|
||||
Panel* panel = new Panel(vec2(400, 200), vec4(5.0f), 1.0f);
|
||||
panel->scrollable(true);
|
||||
@@ -122,9 +126,7 @@ Panel* create_languages_panel(Engine* engine, PagesControl* menu) {
|
||||
Button* button = new Button(util::str2wstr_utf8(fullName), vec4(10.f));
|
||||
button->listenAction([=](GUI*) {
|
||||
auto resdir = engine->getPaths()->getResources();
|
||||
langs::setup(resdir, name, engine->getContentPacks());
|
||||
engine->getSettings().ui.language = name;
|
||||
create_menus(engine, menu);
|
||||
engine->setLanguage(name);
|
||||
menu->back();
|
||||
});
|
||||
panel->add(button);
|
||||
|
||||
+4
-1
@@ -7,6 +7,9 @@ namespace gui {
|
||||
class PagesControl;
|
||||
}
|
||||
|
||||
void create_menus(Engine* engine, gui::PagesControl* menu);
|
||||
namespace menus {
|
||||
void create_menus(Engine* engine, gui::PagesControl* menu);
|
||||
void refresh_menus(Engine* engine, gui::PagesControl* menu);
|
||||
}
|
||||
|
||||
#endif // FRONTEND_MENU_H_
|
||||
@@ -43,9 +43,7 @@ using std::shared_ptr;
|
||||
|
||||
MenuScreen::MenuScreen(Engine* engine_) : Screen(engine_) {
|
||||
auto menu = engine->getGUI()->getMenu();
|
||||
|
||||
// Create pages if not created yet
|
||||
create_menus(engine, menu);
|
||||
menus::refresh_menus(engine, menu);
|
||||
menu->reset();
|
||||
menu->set("main");
|
||||
|
||||
@@ -125,23 +123,6 @@ void LevelScreen::updateHotkeys() {
|
||||
if (Events::jpressed(keycode::F5)) {
|
||||
level->chunks->saveAndClear();
|
||||
}
|
||||
|
||||
// TODO: remove in v0.16
|
||||
if (Events::jpressed(keycode::F9)) {
|
||||
blockid_t woodid = level->content->requireBlock("base:wood")->rt.id;
|
||||
for (size_t i = 0; i < level->chunks->volume; i++){
|
||||
Chunk* chunk = level->chunks->chunks[i].get();
|
||||
if (chunk) {
|
||||
for (uint i = 0; i < CHUNK_VOL; i++) {
|
||||
auto& vox = chunk->voxels[i];
|
||||
if (vox.id == woodid) {
|
||||
vox.states = BLOCK_DIR_UP;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
level->chunks->saveAndClear();
|
||||
}
|
||||
}
|
||||
|
||||
void LevelScreen::update(float delta) {
|
||||
|
||||
Reference in New Issue
Block a user