pause menu moved to xml
This commit is contained in:
parent
64820020f8
commit
ef4294ab47
8
res/layouts/pages/pause.xml
Normal file
8
res/layouts/pages/pause.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<panel size='400' color='0' interval='1' context='menu'>
|
||||
<button onclick='menu:reset()' padding='10'>@Continue</button>
|
||||
<button onclick='menu.page="content"' padding='10'>@Content</button>
|
||||
<button onclick='menu.page="settings"' padding='10'>@Settings</button>
|
||||
<button onclick='core.close_world(true)' padding='10'>
|
||||
@Save and Quit to Menu
|
||||
</button>
|
||||
</panel>
|
||||
@ -178,8 +178,7 @@ std::shared_ptr<InventoryView> Hud::createHotbar() {
|
||||
}
|
||||
|
||||
Hud::Hud(Engine* engine, LevelFrontend* frontend, Player* player)
|
||||
: engine(engine),
|
||||
assets(engine->getAssets()),
|
||||
: assets(engine->getAssets()),
|
||||
gui(engine->getGUI()),
|
||||
frontend(frontend),
|
||||
player(player)
|
||||
@ -552,7 +551,6 @@ void Hud::setPause(bool pause) {
|
||||
|
||||
auto menu = gui->getMenu();
|
||||
if (pause) {
|
||||
menus::create_pause_panel(engine, frontend->getController());
|
||||
menu->setPage("pause");
|
||||
} else {
|
||||
menu->reset();
|
||||
|
||||
@ -65,7 +65,6 @@ public:
|
||||
};
|
||||
|
||||
class Hud {
|
||||
Engine* engine;
|
||||
Assets* assets;
|
||||
std::unique_ptr<Camera> uicamera;
|
||||
gui::GUI* gui;
|
||||
|
||||
@ -26,8 +26,6 @@ namespace menus {
|
||||
// implemented in menu_create_world.cpp
|
||||
extern void create_world_generators_panel(Engine* engine);
|
||||
|
||||
// implemented in menu_pause.cpp
|
||||
extern void create_pause_panel(Engine* engine, LevelController* controller);
|
||||
extern std::shared_ptr<gui::Panel> create_packs_panel(
|
||||
const std::vector<ContentPack>& packs,
|
||||
Engine* engine,
|
||||
|
||||
@ -101,27 +101,3 @@ void menus::add_packs(
|
||||
controller->saveWorld();
|
||||
reopen_world(engine, world);
|
||||
}
|
||||
|
||||
void menus::create_pause_panel(Engine* engine, LevelController* controller) {
|
||||
auto menu = engine->getGUI()->getMenu();
|
||||
auto panel = create_page(engine, "pause", 400, 0.0f, 1);
|
||||
|
||||
panel->add(create_button(L"Continue", glm::vec4(10.0f), glm::vec4(1), [=](GUI*){
|
||||
menu->reset();
|
||||
}));
|
||||
panel->add(create_button(L"Content", glm::vec4(10.0f), glm::vec4(1), [=](GUI*) {
|
||||
menu->setPage("content");
|
||||
}));
|
||||
panel->add(guiutil::gotoButton(L"Settings", "settings", menu));
|
||||
|
||||
panel->add(create_button(L"Save and Quit to Menu", glm::vec4(10.f), glm::vec4(1), [=](GUI*){
|
||||
engine->postRunnable([=]() {
|
||||
// save world
|
||||
controller->saveWorld();
|
||||
// destroy LevelScreen and run quit callbacks
|
||||
engine->setScreen(nullptr);
|
||||
// create and go to menu screen
|
||||
engine->setScreen(std::make_shared<MenuScreen>(engine));
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user