controls panel moved to xml

This commit is contained in:
MihailRis
2024-04-19 16:07:06 +03:00
parent 0e69db13be
commit 7cb5b2eb70
8 changed files with 62 additions and 48 deletions
+1 -43
View File
@@ -12,50 +12,8 @@
using namespace gui;
static void create_controls_panel(Engine* engine) {
auto menu = engine->getGUI()->getMenu();
auto panel = menus::create_page(engine, "controls", 400, 0.0f, 1);
/* Camera sensitivity setting track bar */{
panel->add(menus::create_label([=]() {
float s = engine->getSettings().camera.sensitivity.get();
return langs::get(L"Mouse Sensitivity", L"settings")+L": "+
util::to_wstring(s, 1);
}));
auto trackbar = std::make_shared<TrackBar>(0.1, 10.0, 2.0, 0.1, 4);
trackbar->setSupplier([=]() {
return engine->getSettings().camera.sensitivity.get();
});
trackbar->setConsumer([=](double value) {
engine->getSettings().camera.sensitivity = value;
});
panel->add(trackbar);
}
auto scrollPanel = std::dynamic_pointer_cast<Panel>(guiutil::create(
"<panel size='380,200' padding='2' interval='1' max-length='400' color='#0000004C'>"
"</panel>"
));
for (auto& entry : Events::bindings){
std::string bindname = entry.first;
auto subpanel = std::make_shared<Panel>(glm::vec2(400, 40), glm::vec4(5.0f), 1.0f);
subpanel->setColor(glm::vec4(0.0f));
subpanel->setOrientation(Orientation::horizontal);
subpanel->add(std::make_shared<InputBindBox>(entry.second));
auto label = std::make_shared<Label>(langs::get(util::str2wstr_utf8(bindname)));
label->setMargin(glm::vec4(6.0f));
subpanel->add(label);
scrollPanel->add(subpanel);
}
panel->add(scrollPanel);
panel->add(guiutil::backButton(menu));
}
void menus::create_settings_panel(Engine* engine) {
create_controls_panel(engine);
//create_controls_panel(engine);
auto menu = engine->getGUI()->getMenu();
auto panel = menus::create_page(engine, "settings", 400, 0.0f, 1);