Battletable only displays combat if the enemy unit is viewable or if the enemy ciity's tile has been explored

This commit is contained in:
Yair Morgenstern 2018-04-08 08:58:42 +03:00
parent a72c1c7d95
commit d8a5acb6f2

View File

@ -17,20 +17,21 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
skin = CameraStageBaseScreen.skin skin = CameraStageBaseScreen.skin
} }
fun update(){ fun update() {
if(worldScreen.unitTable.selectedUnit==null if (worldScreen.unitTable.selectedUnit == null
|| worldScreen.unitTable.selectedUnit!!.getBaseUnit().unitType== UnitType.Civilian) return // no attacker || worldScreen.unitTable.selectedUnit!!.getBaseUnit().unitType == UnitType.Civilian) return // no attacker
val attacker = MapUnitCombatant(worldScreen.unitTable.selectedUnit!!) val attacker = MapUnitCombatant(worldScreen.unitTable.selectedUnit!!)
if(worldScreen.tileMapHolder.selectedTile==null) return if (worldScreen.tileMapHolder.selectedTile == null) return
val selectedTile = worldScreen.tileMapHolder.selectedTile!! val selectedTile = worldScreen.tileMapHolder.selectedTile!!
val defender:ICombatant val defender: ICombatant
if(selectedTile.isCityCenter && selectedTile.getOwner() != worldScreen.civInfo) if (selectedTile.explored && selectedTile.isCityCenter && selectedTile.getOwner() != worldScreen.civInfo)
defender = CityCombatant(selectedTile.city!!) defender = CityCombatant(selectedTile.city!!)
else if(selectedTile.unit!=null else if (selectedTile.unit != null
&& selectedTile.unit!!.owner != worldScreen.civInfo.civName) // enemy unit on selected tile, && selectedTile.unit!!.owner != worldScreen.civInfo.civName // enemy unit on selected tile,
defender = MapUnitCombatant(selectedTile.unit!!) && worldScreen.civInfo.getViewableTiles().contains(selectedTile))
defender = MapUnitCombatant(selectedTile.unit!!)
else { else {
clear() clear()
return return