diff --git a/.gitignore b/.gitignore index 5a4dc4737c..9c2181b03a 100644 --- a/.gitignore +++ b/.gitignore @@ -133,3 +133,4 @@ android/release/release/android.aab android/assets/fonts/ android/release/android.aab android/assets/maps/ +android/release/android.aab.sig diff --git a/android/build.gradle b/android/build.gradle index efc23dfc93..1826a779e0 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -21,8 +21,8 @@ android { applicationId "com.unciv.app" minSdkVersion 14 targetSdkVersion 28 - versionCode 286 - versionName "2.19.5" + versionCode 287 + versionName "2.19.6" } // Had to add this crap for Travis to build, it wanted to sign the app diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index 65e401f8fa..7addc82271 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -8,6 +8,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.Constants import com.unciv.UnCivGame +import com.unciv.logic.GameInfo import com.unciv.logic.GameSaver import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.diplomacy.DiplomaticStatus @@ -113,35 +114,7 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { gameInfo.civilizations.forEach { it.setCitiesConnectedToCapitalTransients() } } - if(bottomBar.unitTable.selectedUnit!=null){ - displayTutorials("UnitSelected") - } - - if(UnCivGame.Current.settings.hasCrashedRecently){ - displayTutorials("GameCrashed") - UnCivGame.Current.settings.tutorialsShown.remove("GameCrashed") - UnCivGame.Current.settings.hasCrashedRecently=false - UnCivGame.Current.settings.save() - } - - if (UnCivGame.Current.settings.tutorialsShown.contains("CityEntered")) { - displayTutorials("AfterCityEntered") - } - - if(!UnCivGame.Current.settings.tutorialsShown.contains("EnemyCityNeedsConqueringWithMeleeUnit")) { - for (enemyCity in cloneCivilization.diplomacy.values.filter { it.diplomaticStatus == DiplomaticStatus.War } - .map { it.otherCiv() }.flatMap { it.cities }) { - if (enemyCity.health == 1 && enemyCity.getCenterTile().getTilesInDistance(2) - .any { it.getUnits().any { unit -> unit.civInfo == cloneCivilization } }) - displayTutorials("EnemyCityNeedsConqueringWithMeleeUnit") - } - } - - if(gameClone.getCurrentPlayerCivilization().getCivUnits().any { it.health<100 }) - displayTutorials("InjuredUnits") - - if(gameClone.getCurrentPlayerCivilization().getCivUnits().any { it.name== Constants.worker }) - displayTutorials("WorkerTrained") + displayTutorialsOnUpdate(cloneCivilization, gameClone) updateTechButton(cloneCivilization) updateDiplomacyButton(cloneCivilization) @@ -179,6 +152,35 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { updateNextTurnButton() } + private fun displayTutorialsOnUpdate(cloneCivilization: CivilizationInfo, gameClone: GameInfo) { + if (UnCivGame.Current.settings.hasCrashedRecently) { + displayTutorials("GameCrashed") + UnCivGame.Current.settings.tutorialsShown.remove("GameCrashed") + UnCivGame.Current.settings.hasCrashedRecently = false + UnCivGame.Current.settings.save() + } + + if (bottomBar.unitTable.selectedUnit != null) displayTutorials("UnitSelected") + if (viewingCiv.cities.isNotEmpty()) displayTutorials("CityFounded") + if (UnCivGame.Current.settings.tutorialsShown.contains("CityEntered")) displayTutorials("AfterCityEntered") + + + if (!UnCivGame.Current.settings.tutorialsShown.contains("EnemyCityNeedsConqueringWithMeleeUnit")) { + for (enemyCity in cloneCivilization.diplomacy.values.filter { it.diplomaticStatus == DiplomaticStatus.War } + .map { it.otherCiv() }.flatMap { it.cities }) { + if (enemyCity.health == 1 && enemyCity.getCenterTile().getTilesInDistance(2) + .any { it.getUnits().any { unit -> unit.civInfo == cloneCivilization } }) + displayTutorials("EnemyCityNeedsConqueringWithMeleeUnit") + } + } + + if (gameClone.getCurrentPlayerCivilization().getCivUnits().any { it.health < 100 }) + displayTutorials("InjuredUnits") + + if (gameClone.getCurrentPlayerCivilization().getCivUnits().any { it.name == Constants.worker }) + displayTutorials("WorkerTrained") + } + private fun updateDiplomacyButton(civInfo: CivilizationInfo) { diplomacyButtonWrapper.clear() if(civInfo.getKnownCivs() diff --git a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt index f1cd34f55d..96f8464e52 100644 --- a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt +++ b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt @@ -134,8 +134,6 @@ class UnitActions { unit.currentMovement >0 && !tile.getTilesInDistance(3).any { it.isCityCenter() }) { - worldScreen.displayTutorials("CityFounded") - unit.civInfo.addCity(tile.position) tile.improvement = null unit.destroy()