diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index 93587fa3c5..cd32979e4c 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -66,6 +66,8 @@ class UncivGame(parameters: UncivGameParameters) : Game() { lateinit var onlineMultiplayer: OnlineMultiplayer lateinit var files: UncivFiles + var isTutorialTaskCollapsed = false + /** * This exists so that when debugging we can see the entire map. * Remember to turn this to false before commit and upload! diff --git a/core/src/com/unciv/models/metadata/GameSettings.kt b/core/src/com/unciv/models/metadata/GameSettings.kt index 796417c5b3..da6d21fee7 100644 --- a/core/src/com/unciv/models/metadata/GameSettings.kt +++ b/core/src/com/unciv/models/metadata/GameSettings.kt @@ -114,6 +114,7 @@ class GameSettings { fun addCompletedTutorialTask(tutorialTask: String): Boolean { if (!tutorialTasksCompleted.add(tutorialTask)) return false + UncivGame.Current.isTutorialTaskCollapsed = false save() return true } diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index 77009647f3..6a8ea50a38 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -31,6 +31,7 @@ import com.unciv.models.ruleset.tile.ResourceType import com.unciv.models.ruleset.unique.UniqueType import com.unciv.ui.cityscreen.CityScreen import com.unciv.ui.civilopedia.CivilopediaScreen +import com.unciv.ui.images.ImageGetter import com.unciv.ui.overviewscreen.EmpireOverviewScreen import com.unciv.ui.pickerscreens.DiplomaticVotePickerScreen import com.unciv.ui.pickerscreens.DiplomaticVoteResultScreen @@ -391,18 +392,7 @@ class WorldScreen( updateSelectedCiv() - tutorialTaskTable.clear() - val tutorialTask = getCurrentTutorialTask() - if (tutorialTask == "" || !game.settings.showTutorials || viewingCiv.isDefeated()) { - tutorialTaskTable.isVisible = false - } else { - tutorialTaskTable.isVisible = true - tutorialTaskTable.add(tutorialTask.toLabel() - .apply { setAlignment(Align.center) }).pad(10f) - tutorialTaskTable.pack() - tutorialTaskTable.centerX(stage) - tutorialTaskTable.y = topBar.y - tutorialTaskTable.height - } + displayTutorialTaskOnUpdate() if (fogOfWar) minimapWrapper.update(selectedCiv) else minimapWrapper.update(viewingCiv) @@ -548,6 +538,30 @@ class WorldScreen( } } + private fun displayTutorialTaskOnUpdate() { + tutorialTaskTable.clear() + val tutorialTask = getCurrentTutorialTask() + if (tutorialTask == "" || !game.settings.showTutorials || viewingCiv.isDefeated()) { + tutorialTaskTable.isVisible = false + return + } + + tutorialTaskTable.isVisible = true + if (!UncivGame.Current.isTutorialTaskCollapsed) { + tutorialTaskTable.add(tutorialTask.toLabel() + .apply { setAlignment(Align.center) }).pad(10f) + } else { + tutorialTaskTable.add(ImageGetter.getImage("CityStateIcons/Cultured").apply { setSize(30f,30f) }).pad(5f) + } + tutorialTaskTable.pack() + tutorialTaskTable.centerX(stage) + tutorialTaskTable.y = topBar.y - tutorialTaskTable.height + tutorialTaskTable.onClick() { + UncivGame.Current.isTutorialTaskCollapsed = !UncivGame.Current.isTutorialTaskCollapsed + displayTutorialTaskOnUpdate() + } + } + private fun updateSelectedCiv() { when { bottomUnitTable.selectedUnit != null -> selectedCiv = bottomUnitTable.selectedUnit!!.civ