When picking an improvement for a sleeping worker, it un-sleeps

This commit is contained in:
Yair Morgenstern
2018-10-28 19:34:13 +02:00
parent 4423dadefd
commit 10bfdfc8bc
2 changed files with 29 additions and 26 deletions

View File

@ -11,7 +11,8 @@ import com.unciv.ui.utils.getRandom
class GameInfo { class GameInfo {
var notifications = mutableListOf<Notification>() var notifications = mutableListOf<Notification>()
@Deprecated("As of 2.6.9") var tutorial = mutableListOf<String>() @Deprecated("As of 2.6.9")
var tutorial = mutableListOf<String>()
var civilizations = mutableListOf<CivilizationInfo>() var civilizations = mutableListOf<CivilizationInfo>()
var tileMap: TileMap = TileMap() var tileMap: TileMap = TileMap()
var turns = 0 var turns = 0
@ -60,9 +61,11 @@ class GameInfo {
player.startTurn() player.startTurn()
val enemyUnitsCloseToTerritory = player.getViewableTiles() val enemyUnitsCloseToTerritory = player.getViewableTiles()
.filter { it.militaryUnit!=null && it.militaryUnit!!.civInfo!=player .filter {
it.militaryUnit != null && it.militaryUnit!!.civInfo != player
&& player.isAtWarWith(it.militaryUnit!!.civInfo) && player.isAtWarWith(it.militaryUnit!!.civInfo)
&& (it.getOwner()==player || it.neighbors.any { neighbor -> neighbor.getOwner()==player }) } && (it.getOwner() == player || it.neighbors.any { neighbor -> neighbor.getOwner() == player })
}
for (enemyUnitTile in enemyUnitsCloseToTerritory) { for (enemyUnitTile in enemyUnitsCloseToTerritory) {
val inOrNear = if (enemyUnitTile.getOwner() == player) "in" else "near" val inOrNear = if (enemyUnitTile.getOwner() == player) "in" else "near"
val unitName = enemyUnitTile.militaryUnit!!.name val unitName = enemyUnitTile.militaryUnit!!.name

View File

@ -21,6 +21,7 @@ class ImprovementPickerScreen(tileInfo: TileInfo) : PickerScreen() {
rightSideButton.setText("Pick improvement") rightSideButton.setText("Pick improvement")
rightSideButton.onClick { rightSideButton.onClick {
tileInfo.startWorkingOnImprovement(selectedImprovement!!, civInfo) tileInfo.startWorkingOnImprovement(selectedImprovement!!, civInfo)
if(tileInfo.civilianUnit!=null) tileInfo.civilianUnit!!.action=null // this is to "wake up" the worker if it's sleeping
game.setWorldScreen() game.setWorldScreen()
dispose() dispose()
} }
@ -31,7 +32,6 @@ class ImprovementPickerScreen(tileInfo: TileInfo) : PickerScreen() {
if (!tileInfo.canBuildImprovement(improvement, civInfo) || improvement.name == tileInfo.improvement) continue if (!tileInfo.canBuildImprovement(improvement, civInfo) || improvement.name == tileInfo.improvement) continue
val improvementButton = Button(skin) val improvementButton = Button(skin)
if(improvement.name.startsWith("Remove")) if(improvement.name.startsWith("Remove"))
improvementButton.add(ImageGetter.getImage("OtherIcons/Stop.png")).size(30f).pad(10f) improvementButton.add(ImageGetter.getImage("OtherIcons/Stop.png")).size(30f).pad(10f)
else improvementButton.add(ImageGetter.getImprovementIcon(improvement.name,30f)).pad(10f) else improvementButton.add(ImageGetter.getImprovementIcon(improvement.name,30f)).pad(10f)