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)
|
Hud::Hud(Engine* engine, LevelFrontend* frontend, Player* player)
|
||||||
: engine(engine),
|
: assets(engine->getAssets()),
|
||||||
assets(engine->getAssets()),
|
|
||||||
gui(engine->getGUI()),
|
gui(engine->getGUI()),
|
||||||
frontend(frontend),
|
frontend(frontend),
|
||||||
player(player)
|
player(player)
|
||||||
@ -552,7 +551,6 @@ void Hud::setPause(bool pause) {
|
|||||||
|
|
||||||
auto menu = gui->getMenu();
|
auto menu = gui->getMenu();
|
||||||
if (pause) {
|
if (pause) {
|
||||||
menus::create_pause_panel(engine, frontend->getController());
|
|
||||||
menu->setPage("pause");
|
menu->setPage("pause");
|
||||||
} else {
|
} else {
|
||||||
menu->reset();
|
menu->reset();
|
||||||
|
|||||||
@ -65,7 +65,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class Hud {
|
class Hud {
|
||||||
Engine* engine;
|
|
||||||
Assets* assets;
|
Assets* assets;
|
||||||
std::unique_ptr<Camera> uicamera;
|
std::unique_ptr<Camera> uicamera;
|
||||||
gui::GUI* gui;
|
gui::GUI* gui;
|
||||||
|
|||||||
@ -26,8 +26,6 @@ namespace menus {
|
|||||||
// implemented in menu_create_world.cpp
|
// implemented in menu_create_world.cpp
|
||||||
extern void create_world_generators_panel(Engine* engine);
|
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(
|
extern std::shared_ptr<gui::Panel> create_packs_panel(
|
||||||
const std::vector<ContentPack>& packs,
|
const std::vector<ContentPack>& packs,
|
||||||
Engine* engine,
|
Engine* engine,
|
||||||
|
|||||||
@ -101,27 +101,3 @@ void menus::add_packs(
|
|||||||
controller->saveWorld();
|
controller->saveWorld();
|
||||||
reopen_world(engine, world);
|
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