mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-22 10:54:19 -04:00
Attackable units now have red circle marking their location
This commit is contained in:
parent
ca7fb9c3be
commit
e9c69eed6f
@ -1,6 +1,7 @@
|
|||||||
package com.unciv.logic.map
|
package com.unciv.logic.map
|
||||||
|
|
||||||
import com.badlogic.gdx.math.Vector2
|
import com.badlogic.gdx.math.Vector2
|
||||||
|
import com.unciv.UnCivGame
|
||||||
import com.unciv.logic.city.CityInfo
|
import com.unciv.logic.city.CityInfo
|
||||||
import com.unciv.logic.civilization.CivilizationInfo
|
import com.unciv.logic.civilization.CivilizationInfo
|
||||||
import com.unciv.models.gamebasics.GameBasics
|
import com.unciv.models.gamebasics.GameBasics
|
||||||
@ -8,7 +9,6 @@ import com.unciv.models.gamebasics.Terrain
|
|||||||
import com.unciv.models.gamebasics.TileImprovement
|
import com.unciv.models.gamebasics.TileImprovement
|
||||||
import com.unciv.models.gamebasics.TileResource
|
import com.unciv.models.gamebasics.TileResource
|
||||||
import com.unciv.models.stats.Stats
|
import com.unciv.models.stats.Stats
|
||||||
import com.unciv.UnCivGame
|
|
||||||
|
|
||||||
class TileInfo {
|
class TileInfo {
|
||||||
@Transient lateinit var tileMap: TileMap
|
@Transient lateinit var tileMap: TileMap
|
||||||
@ -175,6 +175,10 @@ class TileInfo {
|
|||||||
return tileMap.getViewableTiles(this.position,distance)
|
return tileMap.getViewableTiles(this.position,distance)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getTilesInDistance(distance:Int): List<TileInfo> {
|
||||||
|
return tileMap.getTilesInDistance(position,distance)
|
||||||
|
}
|
||||||
|
|
||||||
fun getDefensiveBonus(): Float {
|
fun getDefensiveBonus(): Float {
|
||||||
var bonus = getBaseTerrain().defenceBonus
|
var bonus = getBaseTerrain().defenceBonus
|
||||||
if(terrainFeature!=null) bonus += getTerrainFeature()!!.defenceBonus
|
if(terrainFeature!=null) bonus += getTerrainFeature()!!.defenceBonus
|
||||||
|
@ -9,6 +9,7 @@ import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener
|
|||||||
import com.unciv.logic.civilization.CivilizationInfo
|
import com.unciv.logic.civilization.CivilizationInfo
|
||||||
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.logic.map.UnitType
|
||||||
import com.unciv.ui.cityscreen.addClickListener
|
import com.unciv.ui.cityscreen.addClickListener
|
||||||
import com.unciv.ui.tilegroups.WorldTileGroup
|
import com.unciv.ui.tilegroups.WorldTileGroup
|
||||||
import com.unciv.ui.utils.HexMath
|
import com.unciv.ui.utils.HexMath
|
||||||
@ -101,6 +102,18 @@ class TileMapHolder(internal val worldScreen: WorldScreen, internal val tileMap:
|
|||||||
if(worldScreen.unitTable.currentlyExecutingAction!=null)
|
if(worldScreen.unitTable.currentlyExecutingAction!=null)
|
||||||
for(tile: TileInfo in worldScreen.unitTable.getTilesForCurrentlyExecutingAction())
|
for(tile: TileInfo in worldScreen.unitTable.getTilesForCurrentlyExecutingAction())
|
||||||
tileGroups[tile.position.toString()]!!.showCircle(Color(0f,120/255f,215/255f,1f))
|
tileGroups[tile.position.toString()]!!.showCircle(Color(0f,120/255f,215/255f,1f))
|
||||||
|
else if(worldScreen.unitTable.selectedUnit!=null){
|
||||||
|
val unit = worldScreen.unitTable.selectedUnit!!
|
||||||
|
val attackableTiles:List<TileInfo>
|
||||||
|
when(unit.getBaseUnit().unitType){
|
||||||
|
UnitType.Civilian -> return
|
||||||
|
UnitType.Melee -> attackableTiles = unit.getDistanceToTiles().keys.toList()
|
||||||
|
UnitType.Ranged -> attackableTiles = unit.getTile().getTilesInDistance(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
for (tile in attackableTiles.filter { it.unit!=null && it.unit!!.owner != unit.owner })
|
||||||
|
tileGroups[tile.position.toString()]!!.showCircle(Color(237/255f,41/255f,57/255f,1f))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setCenterPosition(vector: Vector2) {
|
fun setCenterPosition(vector: Vector2) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user