From 156db1f5f71f81305d22af2dd45b854d5f1486e9 Mon Sep 17 00:00:00 2001 From: Timo T Date: Wed, 25 May 2022 18:27:59 +0200 Subject: [PATCH] Go back to current game when you press "Resume" on the main menu (#6882) --- core/src/com/unciv/MainMenuScreen.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/MainMenuScreen.kt b/core/src/com/unciv/MainMenuScreen.kt index 8e7bdac87d..f8a70e4472 100644 --- a/core/src/com/unciv/MainMenuScreen.kt +++ b/core/src/com/unciv/MainMenuScreen.kt @@ -28,6 +28,7 @@ import com.unciv.ui.popup.* import com.unciv.ui.saves.LoadGameScreen import com.unciv.ui.utils.* import com.unciv.ui.utils.UncivTooltip.Companion.addTooltip +import com.unciv.ui.worldscreen.mainmenu.WorldScreenMenuPopup class MainMenuScreen: BaseScreen() { private val backgroundTable = Table().apply { background= ImageGetter.getBackground(Color.WHITE) } @@ -98,7 +99,7 @@ class MainMenuScreen: BaseScreen() { if (game.gameSaver.autosaveExists()) { val resumeTable = getMenuButton("Resume","OtherIcons/Resume", 'r') - { autoLoadGame() } + { resumeGame() } column1.add(resumeTable).row() } @@ -165,7 +166,14 @@ class MainMenuScreen: BaseScreen() { } - private fun autoLoadGame() { + private fun resumeGame() { + val curWorldScreen = game.getWorldScreenOrNull() + if (curWorldScreen != null) { + game.resetToWorldScreen() + curWorldScreen.popups.filterIsInstance(WorldScreenMenuPopup::class.java).forEach(Popup::close) + return + } + val loadingPopup = Popup(this) loadingPopup.addGoodSizedLabel("Loading...") loadingPopup.open()