diff --git a/res/scripts/stdlib.lua b/res/scripts/stdlib.lua index 81dd115d..cc1aa23f 100644 --- a/res/scripts/stdlib.lua +++ b/res/scripts/stdlib.lua @@ -385,6 +385,15 @@ function __vc_on_hud_open() hud.show_overlay("core:console", false, {"chat"}) end) end) + input.add_callback("key:escape", function() + if hud.is_paused() then + hud.resume() + elseif hud.is_inventory_open() then + hud.close_inventory() + else + hud.pause() + end + end) end local RULES_FILE = "world:rules.toml" diff --git a/src/frontend/hud.cpp b/src/frontend/hud.cpp index 01798503..ff22523a 100644 --- a/src/frontend/hud.cpp +++ b/src/frontend/hud.cpp @@ -201,17 +201,6 @@ Hud::Hud(Engine& engine, LevelFrontend& frontend, Player& player) "' pos='0' size='256' gravity='top-right' margin='0,20,0,0'/>" ); add(HudElement(hud_element_mode::permanent, nullptr, debugMinimap, true)); - - keepAlive(Events::keyCallbacks[keycode::ESCAPE].add([this]() -> bool { - if (pause) { - setPause(false); - } else if (inventoryOpen) { - closeInventory(); - } else { - setPause(true); - } - return false; - })); } Hud::~Hud() {