From 582cbeb932b78a69fce205f807d79eb861f20704 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Wed, 11 Nov 2020 21:52:48 +0200 Subject: [PATCH] Fixed key shortcuts in improvement picker screen --- core/src/com/unciv/MainMenuScreen.kt | 2 +- core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt | 2 +- core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/MainMenuScreen.kt b/core/src/com/unciv/MainMenuScreen.kt index 46f7298580..099da6a6b2 100644 --- a/core/src/com/unciv/MainMenuScreen.kt +++ b/core/src/com/unciv/MainMenuScreen.kt @@ -104,7 +104,7 @@ class MainMenuScreen: CameraStageBaseScreen() { column2.add(mapEditorScreenTable).row() val modsTable = getTableBlock("Mods", "OtherIcons/Mods") - { game.setScreen(ModManagementScreen()) } + { game.setScreen(ModManagementScreen()) } column2.add(modsTable).row() diff --git a/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt index c8154d09d6..f261c5deaf 100644 --- a/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt @@ -79,7 +79,7 @@ class ImprovementPickerScreen(val tileInfo: TileInfo, val onAccept: ()->Unit) : val pickNow = "Pick now!".toLabel().onClick { accept(improvement) } if (improvement.shortcutKey != null) - keyPressDispatcher[improvement.shortcutKey] = { accept(improvement) } + keyPressDispatcher[improvement.shortcutKey.toLowerCase()] = { accept(improvement) } val statIcons = getStatIconsTable(provideResource, removeImprovement) diff --git a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt index c0f510cacd..2965f907bc 100644 --- a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt +++ b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt @@ -32,6 +32,7 @@ open class CameraStageBaseScreen : Screen { protected val tutorialController by lazy { TutorialController(this) } // An initialized val always turned out to illegally be null... + // Remember to always set LOWER CASE chars as the keys! var keyPressDispatcher: HashMap Unit)> init { @@ -46,6 +47,7 @@ open class CameraStageBaseScreen : Screen { stage.addListener( object : InputListener() { override fun keyTyped(event: InputEvent?, character: Char): Boolean { + if (character.toLowerCase() !in keyPressDispatcher || hasOpenPopups()) return super.keyTyped(event, character)