mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-29 15:01:09 -04:00
Resolved #787 - when selecting bombardable enemy unit with no military unit selected, bombarding city is automatically selected
This commit is contained in:
parent
d07e406510
commit
3cfe3a7f73
@ -16,6 +16,7 @@ import com.unciv.logic.civilization.CivilizationInfo
|
|||||||
import com.unciv.logic.map.MapUnit
|
import com.unciv.logic.map.MapUnit
|
||||||
import com.unciv.logic.map.TileInfo
|
import com.unciv.logic.map.TileInfo
|
||||||
import com.unciv.logic.map.TileMap
|
import com.unciv.logic.map.TileMap
|
||||||
|
import com.unciv.models.gamebasics.unit.UnitType
|
||||||
import com.unciv.ui.tilegroups.WorldTileGroup
|
import com.unciv.ui.tilegroups.WorldTileGroup
|
||||||
import com.unciv.ui.utils.*
|
import com.unciv.ui.utils.*
|
||||||
import kotlin.concurrent.thread
|
import kotlin.concurrent.thread
|
||||||
@ -84,6 +85,18 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap:
|
|||||||
queueAddMoveHereButton(selectedUnit, tileInfo)
|
queueAddMoveHereButton(selectedUnit, tileInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(selectedUnit==null || selectedUnit.type==UnitType.Civilian){
|
||||||
|
val unitsInTile = selectedTile!!.getUnits()
|
||||||
|
if(unitsInTile.isNotEmpty() && unitsInTile.first().civInfo.isAtWarWith(worldScreen.currentPlayerCiv)){
|
||||||
|
// try to select the closest city to bombard this guy
|
||||||
|
val citiesThatCanBombard = selectedTile!!.getTilesInDistance(2)
|
||||||
|
.filter { it.isCityCenter() }.map { it.getCity()!! }
|
||||||
|
.filter { !it.attackedThisTurn }
|
||||||
|
if(citiesThatCanBombard.isNotEmpty())
|
||||||
|
worldScreen.bottomBar.unitTable.citySelected(citiesThatCanBombard.first())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
worldScreen.bottomBar.unitTable.tileSelected(tileInfo)
|
worldScreen.bottomBar.unitTable.tileSelected(tileInfo)
|
||||||
worldScreen.shouldUpdate = true
|
worldScreen.shouldUpdate = true
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ class TradePopup(worldScreen: WorldScreen): PopupTable(worldScreen){
|
|||||||
|
|
||||||
addGoodSizedLabel(translatedNation.tradeRequest).colspan(columns).row()
|
addGoodSizedLabel(translatedNation.tradeRequest).colspan(columns).row()
|
||||||
|
|
||||||
addButton("Sounds good!".tr()){
|
addButton("Sounds good!"){
|
||||||
val tradeLogic = TradeLogic(currentPlayerCiv, requestingCiv)
|
val tradeLogic = TradeLogic(currentPlayerCiv, requestingCiv)
|
||||||
tradeLogic.currentTrade.set(trade)
|
tradeLogic.currentTrade.set(trade)
|
||||||
tradeLogic.acceptTrade()
|
tradeLogic.acceptTrade()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user