This commit is contained in:
MihailRis 2024-01-26 05:16:21 +03:00
parent 7e4db6357b
commit 32e6ec2fb8
3 changed files with 12 additions and 10 deletions

View File

@ -313,6 +313,7 @@ void HudRenderer::update(bool visible) {
auto player = level->player;
auto menu = gui->getMenu();
debugPanel->visible(player->debug && visible);
menu->visible(pause);
if (!visible && inventoryOpen) {
@ -393,7 +394,6 @@ void HudRenderer::draw(const GfxContext& ctx){
const uint height = viewport.getHeight();
Player* player = level->player;
debugPanel->visible(player->debug);
uicamera->setFov(height);

View File

@ -196,7 +196,7 @@ Panel* create_worlds_panel(Engine* engine) {
panel->maxLength(400);
auto paths = engine->getPaths();
for (auto folder : paths->scanForWorlds()) {
auto name = folder.filename().u8string();
auto namews = util::str2wstr_utf8(name);
@ -316,7 +316,6 @@ void create_new_world_panel(Engine* engine, PagesControl* menu) {
L": "+util::str2wstr_utf8(error.what()));
return;
}
fs::create_directories(folder);
Level* level = World::create(
nameutf8, folder, seed,
@ -478,6 +477,9 @@ void create_pause_panel(Engine* engine, PagesControl* menu) {
panel->add(guiutil::gotoButton(L"Settings", "settings", menu));
panel->add(create_button(L"Save and Quit to Menu", vec4(10.f), vec4(1), [=](GUI*){
// save world and destroy LevelScreen
engine->setScreen(nullptr);
// create and go to menu screen
engine->setScreen(std::make_shared<MenuScreen>(engine));
}));
}

View File

@ -50,8 +50,8 @@ MenuScreen::MenuScreen(Engine* engine_) : Screen(engine_) {
menu->set("main");
uicamera.reset(new Camera(glm::vec3(), Window::height));
uicamera->perspective = false;
uicamera->flipped = true;
uicamera->perspective = false;
uicamera->flipped = true;
}
MenuScreen::~MenuScreen() {
@ -65,9 +65,9 @@ void MenuScreen::draw(float delta) {
Window::setBgColor(glm::vec3(0.2f));
uicamera->setFov(Window::height);
Shader* uishader = engine->getAssets()->getShader("ui");
uishader->use();
uishader->uniformMatrix("u_projview", uicamera->getProjView());
Shader* uishader = engine->getAssets()->getShader("ui");
uishader->use();
uishader->uniformMatrix("u_projview", uicamera->getProjView());
uint width = Window::width;
uint height = Window::height;
@ -99,9 +99,9 @@ LevelScreen::LevelScreen(Engine* engine, Level* level)
}
LevelScreen::~LevelScreen() {
std::cout << "-- writing world" << std::endl;
std::cout << "-- writing world" << std::endl;
auto world = level->getWorld();
world->write(level.get());
world->write(level.get());
}
void LevelScreen::updateHotkeys() {