mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
feat: key pressed event interception & 'owner' input.add_callback third argument
This commit is contained in:
parent
7fce735ca1
commit
b9ff1db086
17 changed files with 192 additions and 63 deletions
|
|
@ -201,6 +201,17 @@ 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() {
|
||||
|
|
@ -223,15 +234,6 @@ void Hud::cleanup() {
|
|||
}
|
||||
|
||||
void Hud::processInput(bool visible) {
|
||||
if (Events::jpressed(keycode::ESCAPE)) {
|
||||
if (pause) {
|
||||
setPause(false);
|
||||
} else if (inventoryOpen) {
|
||||
closeInventory();
|
||||
} else {
|
||||
setPause(true);
|
||||
}
|
||||
}
|
||||
if (!Window::isFocused() && !pause && !isInventoryOpen()) {
|
||||
setPause(true);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue