X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Finput%2Fhandler%2Fkeyboard%2FPauseGameKeyboardInputHandler.kt;h=b39ee7403ee30f69ca8676f8c3906b63e4c3a79c;hb=b2f824726f647543e69f31ac5723df37750b5778;hp=60a9edfdcaacfb015da3a7ee79e05367e8b8c80c;hpb=cf4113d5bfd3fca7c3815bf14a214eebd822216c;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/PauseGameKeyboardInputHandler.kt b/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/PauseGameKeyboardInputHandler.kt index 60a9edf..b39ee74 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/PauseGameKeyboardInputHandler.kt +++ b/core/src/ru/deadsoftware/cavedroid/game/input/handler/keyboard/PauseGameKeyboardInputHandler.kt @@ -3,11 +3,14 @@ package ru.deadsoftware.cavedroid.game.input.handler.keyboard import ru.deadsoftware.cavedroid.MainConfig import ru.deadsoftware.cavedroid.game.GameSaver import ru.deadsoftware.cavedroid.game.GameScope +import ru.deadsoftware.cavedroid.game.GameUiWindow import ru.deadsoftware.cavedroid.game.input.IGameInputHandler import ru.deadsoftware.cavedroid.game.input.action.KeyboardInputAction import ru.deadsoftware.cavedroid.game.input.action.keys.KeyboardInputActionKey import ru.deadsoftware.cavedroid.game.mobs.MobsController -import ru.deadsoftware.cavedroid.game.objects.DropController +import ru.deadsoftware.cavedroid.game.objects.drop.DropController +import ru.deadsoftware.cavedroid.game.objects.container.ContainerController +import ru.deadsoftware.cavedroid.game.ui.windows.GameWindowsManager import ru.deadsoftware.cavedroid.game.world.GameWorld import javax.inject.Inject @@ -17,6 +20,8 @@ class PauseGameKeyboardInputHandler @Inject constructor( private val dropController: DropController, private val mobsController: MobsController, private val gameWorld: GameWorld, + private val containerController: ContainerController, + private val gameWindowsManager: GameWindowsManager, ) : IGameInputHandler { override fun checkConditions(action: KeyboardInputAction): Boolean { @@ -24,7 +29,12 @@ class PauseGameKeyboardInputHandler @Inject constructor( } override fun handle(action: KeyboardInputAction) { - GameSaver.save(mainConfig, dropController, mobsController, gameWorld) + if (gameWindowsManager.getCurrentWindow() != GameUiWindow.NONE) { + gameWindowsManager.closeWindow() + return + } + + GameSaver.save(mainConfig, dropController, mobsController, containerController, gameWorld) mainConfig.caveGame.quitGame() } } \ No newline at end of file