mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-27 22:06:05 -04:00
Prevent senseless BattleTable display and fix right-click issues (#7003)
This commit is contained in:
parent
cdeabd044d
commit
7df71571dc
@ -216,6 +216,11 @@ class WorldMapHolder(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun onTileRightClicked(unit: MapUnit, tile: TileInfo) {
|
private fun onTileRightClicked(unit: MapUnit, tile: TileInfo) {
|
||||||
|
removeUnitActionOverlay()
|
||||||
|
selectedTile = tile
|
||||||
|
unitMovementPaths.clear()
|
||||||
|
worldScreen.shouldUpdate = true
|
||||||
|
|
||||||
if (worldScreen.bottomUnitTable.selectedUnitIsSwapping) {
|
if (worldScreen.bottomUnitTable.selectedUnitIsSwapping) {
|
||||||
if (unit.movement.canUnitSwapTo(tile)) {
|
if (unit.movement.canUnitSwapTo(tile)) {
|
||||||
swapMoveUnitToTargetTile(unit, tile)
|
swapMoveUnitToTargetTile(unit, tile)
|
||||||
|
@ -33,28 +33,28 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
|
|||||||
touchable = Touchable.enabled
|
touchable = Touchable.enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
fun hide(){
|
private fun hide() {
|
||||||
isVisible = false
|
isVisible = false
|
||||||
clear()
|
clear()
|
||||||
pack()
|
pack()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun update() {
|
fun update() {
|
||||||
isVisible = true
|
if (!worldScreen.canChangeState) return hide()
|
||||||
if (!worldScreen.canChangeState) { hide(); return }
|
|
||||||
|
|
||||||
val attacker = tryGetAttacker()
|
val attacker = tryGetAttacker() ?: return hide()
|
||||||
if (attacker == null) { hide(); return }
|
|
||||||
|
|
||||||
if (attacker is MapUnitCombatant && attacker.unit.baseUnit.isNuclearWeapon()) {
|
if (attacker is MapUnitCombatant && attacker.unit.baseUnit.isNuclearWeapon()) {
|
||||||
val selectedTile = worldScreen.mapHolder.selectedTile
|
val selectedTile = worldScreen.mapHolder.selectedTile
|
||||||
if (selectedTile == null) { hide(); return } // no selected tile
|
?: return hide() // no selected tile
|
||||||
simulateNuke(attacker, selectedTile)
|
simulateNuke(attacker, selectedTile)
|
||||||
} else {
|
} else {
|
||||||
val defender = tryGetDefender()
|
val defender = tryGetDefender() ?: return hide()
|
||||||
if (defender == null) { hide(); return }
|
if (attacker is CityCombatant && defender is CityCombatant) return hide()
|
||||||
simulateBattle(attacker, defender)
|
simulateBattle(attacker, defender)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isVisible = true
|
||||||
pack()
|
pack()
|
||||||
addBorderAllowOpacity(1f, Color.WHITE)
|
addBorderAllowOpacity(1f, Color.WHITE)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user