Mark red for air unit attack range. (#2786)

Ya know what, sure why not
This commit is contained in:
Duan Tao 2020-07-03 01:04:34 +08:00 committed by GitHub
parent 4357d2513a
commit 48350fc6a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -255,7 +255,7 @@ class WorldMapHolder(internal val worldScreen: WorldScreen, internal val tileMap
val isAirUnit = unit.type.isAirUnit() val isAirUnit = unit.type.isAirUnit()
val tilesInMoveRange = val tilesInMoveRange =
if (isAirUnit) if (isAirUnit)
unit.getTile().getTilesInDistance(unit.getRange()*2) unit.getTile().getTilesInDistanceRange(IntRange(unit.getRange(), unit.getRange() * 2))
else else
unit.movement.getDistanceToTiles().keys.asSequence() unit.movement.getDistanceToTiles().keys.asSequence()
@ -268,6 +268,15 @@ class WorldMapHolder(internal val worldScreen: WorldScreen, internal val tileMap
if (UncivGame.Current.settings.singleTapMove || isAirUnit) 0.7f else 0.3f) if (UncivGame.Current.settings.singleTapMove || isAirUnit) 0.7f else 0.3f)
} }
// Mark tiles in air units attack range as RED
if (isAirUnit) {
val tilesInAirAttackRange = unit.getTile().getTilesInDistance(unit.getRange())
for (tile in tilesInAirAttackRange) {
val tileToColor = tileGroups.getValue(tile)
tileToColor.showCircle(Color.RED, 0.3f)
}
}
val attackableTiles: List<AttackableTile> = if (unit.type.isCivilian()) listOf() val attackableTiles: List<AttackableTile> = if (unit.type.isCivilian()) listOf()
else { else {
BattleHelper.getAttackableEnemies(unit, unit.movement.getDistanceToTiles()) BattleHelper.getAttackableEnemies(unit, unit.movement.getDistanceToTiles())