Added gui_util
This commit is contained in:
+10
-20
@@ -19,6 +19,8 @@
|
||||
#include "../engine.h"
|
||||
#include "../settings.h"
|
||||
|
||||
#include "gui/gui_util.h"
|
||||
|
||||
using glm::vec2;
|
||||
using glm::vec4;
|
||||
using std::string;
|
||||
@@ -29,25 +31,13 @@ using std::filesystem::u8path;
|
||||
using std::filesystem::directory_iterator;
|
||||
using namespace gui;
|
||||
|
||||
inline Button* gotoButton(wstring text, string page, PagesControl* menu) {
|
||||
return (new Button(text, vec4(10.f)))->listenAction([=](GUI* gui) {
|
||||
menu->set(page);
|
||||
});
|
||||
}
|
||||
|
||||
inline Button* backButton(PagesControl* menu) {
|
||||
return (new Button(L"Back", vec4(10.f)))->listenAction([=](GUI* gui) {
|
||||
menu->back();
|
||||
});
|
||||
}
|
||||
|
||||
Panel* create_main_menu_panel(Engine* engine, PagesControl* menu) {
|
||||
EnginePaths* paths = engine->getPaths();
|
||||
|
||||
Panel* panel = new Panel(vec2(400, 200), vec4(5.0f), 1.0f);
|
||||
panel->color(vec4(0.0f));
|
||||
|
||||
panel->add(gotoButton(L"New World", "new-world", menu));
|
||||
panel->add(guiutil::gotoButton(L"New World", "new-world", menu));
|
||||
|
||||
Panel* worldsPanel = new Panel(vec2(390, 200), vec4(5.0f));
|
||||
worldsPanel->color(vec4(0.1f));
|
||||
@@ -75,8 +65,8 @@ Panel* create_main_menu_panel(Engine* engine, PagesControl* menu) {
|
||||
}
|
||||
}
|
||||
panel->add(worldsPanel);
|
||||
panel->add(gotoButton(L"Settings", "settings", menu));
|
||||
panel->add((new Button(L"Quit", vec4(10.f)))->listenAction([](GUI*) {
|
||||
panel->add(guiutil::gotoButton(L"Settings", "settings", menu));
|
||||
panel->add((new Button(L"Quit", vec4(10.f)))->listenAction([](GUI* gui) {
|
||||
Window::setShouldClose(true);
|
||||
}));
|
||||
panel->refresh();
|
||||
@@ -163,7 +153,7 @@ Panel* create_new_world_panel(Engine* engine, PagesControl* menu) {
|
||||
panel->add(button);
|
||||
}
|
||||
|
||||
panel->add(backButton(menu));
|
||||
panel->add(guiutil::backButton(menu));
|
||||
panel->refresh();
|
||||
return panel;
|
||||
}
|
||||
@@ -209,7 +199,7 @@ Panel* create_controls_panel(Engine* engine, PagesControl* menu) {
|
||||
}
|
||||
panel->add(scrollPanel);
|
||||
|
||||
panel->add(backButton(menu));
|
||||
panel->add(guiutil::backButton(menu));
|
||||
panel->refresh();
|
||||
return panel;
|
||||
}
|
||||
@@ -323,8 +313,8 @@ Panel* create_settings_panel(Engine* engine, PagesControl* menu) {
|
||||
panel->add(checkpanel);
|
||||
}
|
||||
|
||||
panel->add(gotoButton(L"Controls", "controls", menu));
|
||||
panel->add(backButton(menu));
|
||||
panel->add(guiutil::gotoButton(L"Controls", "controls", menu));
|
||||
panel->add(guiutil::backButton(menu));
|
||||
panel->refresh();
|
||||
return panel;
|
||||
}
|
||||
@@ -339,7 +329,7 @@ Panel* create_pause_panel(Engine* engine, PagesControl* menu) {
|
||||
});
|
||||
panel->add(shared_ptr<UINode>(button));
|
||||
}
|
||||
panel->add(gotoButton(L"Settings", "settings", menu));
|
||||
panel->add(guiutil::gotoButton(L"Settings", "settings", menu));
|
||||
{
|
||||
Button* button = new Button(L"Save and Quit to Menu", vec4(10.f));
|
||||
button->listenAction([engine](GUI*){
|
||||
|
||||
Reference in New Issue
Block a user