pause menu buttons, input handler: fix key skipping

This commit is contained in:
Bixilon 2022-01-24 13:05:38 +01:00
parent 506bf1e319
commit 800888878e
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
2 changed files with 6 additions and 11 deletions

View File

@ -16,11 +16,14 @@ package de.bixilon.minosoft.gui.rendering.gui.gui.screen.menu.pause
import de.bixilon.minosoft.gui.rendering.gui.GUIRenderer
import de.bixilon.minosoft.gui.rendering.gui.elements.button.ButtonElement
import de.bixilon.minosoft.gui.rendering.gui.gui.screen.menu.Menu
import de.bixilon.minosoft.util.ShutdownManager
class PauseMenu(guiRenderer: GUIRenderer) : Menu(guiRenderer) {
init {
addButton(ButtonElement(guiRenderer, "Print \"Hello\" message") { println("Hello") })
addButton(ButtonElement(guiRenderer, "Print \"World\" message") { println("World") })
addButton(ButtonElement(guiRenderer, "Back to game") { guiRenderer.gui.pause(false) })
addButton(ButtonElement(guiRenderer, "§cDisconnect") { guiRenderer.connection.network.disconnect() })
addButton(ButtonElement(guiRenderer, "§4Exit") { ShutdownManager.shutdown() })
// ToDo: Double click button to disconnect
}
}

View File

@ -62,7 +62,6 @@ class RenderWindowInputHandler(
CursorModes.NORMAL
}
}
private var skipKeyPress = false
private var skipCharPress = false
private var skipMouseMove = false
@ -122,13 +121,7 @@ class RenderWindowInputHandler(
private fun keyInput(keyCode: KeyCodes, keyChangeType: KeyChangeTypes) {
val inputHandler = inputHandler
if (inputHandler != null) {
if (skipKeyPress) {
skipKeyPress = false
return
}
inputHandler.onKeyPress(keyChangeType, keyCode)
}
inputHandler?.onKeyPress(keyChangeType, keyCode)
val keyDown = when (keyChangeType) {
KeyChangeTypes.PRESS -> true
@ -247,7 +240,6 @@ class RenderWindowInputHandler(
if (inputHandler != this.inputHandler) {
skipKeyPress = true
skipCharPress = true
skipMouseMove = true
}