controls menu moved to menu_settings.cpp
This commit is contained in:
parent
78aefa76d9
commit
8602ad71a5
@ -281,52 +281,10 @@ void create_main_menu_panel(Engine* engine) {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
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;
|
|
||||||
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;
|
|
||||||
});
|
|
||||||
trackbar->setConsumer([=](double value) {
|
|
||||||
engine->getSettings().camera.sensitivity = value;
|
|
||||||
});
|
|
||||||
panel->add(trackbar);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto scrollPanel = std::make_shared<Panel>(glm::vec2(400, 200), glm::vec4(2.0f), 1.0f);
|
|
||||||
scrollPanel->setColor(glm::vec4(0.0f, 0.0f, 0.0f, 0.3f));
|
|
||||||
scrollPanel->setMaxLength(400);
|
|
||||||
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_menus(Engine* engine) {
|
void menus::create_menus(Engine* engine) {
|
||||||
menus::generatorID = WorldGenerators::getDefaultGeneratorID();
|
menus::generatorID = WorldGenerators::getDefaultGeneratorID();
|
||||||
create_new_world_panel(engine);
|
create_new_world_panel(engine);
|
||||||
create_settings_panel(engine);
|
create_settings_panel(engine);
|
||||||
create_controls_panel(engine);
|
|
||||||
create_languages_panel(engine);
|
create_languages_panel(engine);
|
||||||
create_main_menu_panel(engine);
|
create_main_menu_panel(engine);
|
||||||
create_world_generators_panel(engine);
|
create_world_generators_panel(engine);
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
#include "../gui/gui_util.h"
|
#include "../gui/gui_util.h"
|
||||||
#include "../../engine.h"
|
#include "../../engine.h"
|
||||||
#include "../../util/stringutil.h"
|
#include "../../util/stringutil.h"
|
||||||
|
#include "../../window/Events.h"
|
||||||
|
|
||||||
#include <glm/glm.hpp>
|
#include <glm/glm.hpp>
|
||||||
|
|
||||||
@ -44,8 +45,50 @@ void create_audio_settings_panel(Engine* engine) {
|
|||||||
panel->add(guiutil::backButton(menu));
|
panel->add(guiutil::backButton(menu));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
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;
|
||||||
|
});
|
||||||
|
trackbar->setConsumer([=](double value) {
|
||||||
|
engine->getSettings().camera.sensitivity = value;
|
||||||
|
});
|
||||||
|
panel->add(trackbar);
|
||||||
|
}
|
||||||
|
|
||||||
|
auto scrollPanel = std::make_shared<Panel>(glm::vec2(400, 200), glm::vec4(2.0f), 1.0f);
|
||||||
|
scrollPanel->setColor(glm::vec4(0.0f, 0.0f, 0.0f, 0.3f));
|
||||||
|
scrollPanel->setMaxLength(400);
|
||||||
|
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) {
|
void menus::create_settings_panel(Engine* engine) {
|
||||||
create_audio_settings_panel(engine);
|
create_audio_settings_panel(engine);
|
||||||
|
create_controls_panel(engine);
|
||||||
|
|
||||||
auto menu = engine->getGUI()->getMenu();
|
auto menu = engine->getGUI()->getMenu();
|
||||||
auto panel = menus::create_page(engine, "settings", 400, 0.0f, 1);
|
auto panel = menus::create_page(engine, "settings", 400, 0.0f, 1);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user