Added icons for the major unit types
BIN
android/Images/TileSets/FantasyHex/Units/Archer.png
Normal file
After Width: | Height: | Size: 380 B |
BIN
android/Images/TileSets/FantasyHex/Units/Catapult.png
Normal file
After Width: | Height: | Size: 371 B |
BIN
android/Images/TileSets/FantasyHex/Units/Horseman.png
Normal file
After Width: | Height: | Size: 338 B |
BIN
android/Images/TileSets/FantasyHex/Units/Mechanized Infantry.png
Normal file
After Width: | Height: | Size: 289 B |
BIN
android/Images/TileSets/FantasyHex/Units/Pikeman.png
Normal file
After Width: | Height: | Size: 368 B |
BIN
android/Images/TileSets/FantasyHex/Units/Spearman.png
Normal file
After Width: | Height: | Size: 376 B |
BIN
android/Images/TileSets/FantasyHex/Units/Tank.png
Normal file
After Width: | Height: | Size: 291 B |
Before Width: | Height: | Size: 1017 KiB After Width: | Height: | Size: 1.0 MiB |
@ -12,6 +12,7 @@ import com.unciv.logic.civilization.CivilizationInfo
|
|||||||
import com.unciv.logic.map.MapUnit
|
import com.unciv.logic.map.MapUnit
|
||||||
import com.unciv.logic.map.RoadStatus
|
import com.unciv.logic.map.RoadStatus
|
||||||
import com.unciv.logic.map.TileInfo
|
import com.unciv.logic.map.TileInfo
|
||||||
|
import com.unciv.models.gamebasics.unit.UnitType
|
||||||
import com.unciv.ui.utils.ImageGetter
|
import com.unciv.ui.utils.ImageGetter
|
||||||
import com.unciv.ui.utils.UnitGroup
|
import com.unciv.ui.utils.UnitGroup
|
||||||
import com.unciv.ui.utils.center
|
import com.unciv.ui.utils.center
|
||||||
@ -39,6 +40,8 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings)
|
|||||||
protected var terrainFeatureOverlayImage: Image? = null
|
protected var terrainFeatureOverlayImage: Image? = null
|
||||||
protected var terrainFeature:String?=null
|
protected var terrainFeature:String?=null
|
||||||
protected var cityImage: Image? = null
|
protected var cityImage: Image? = null
|
||||||
|
|
||||||
|
protected var pixelMilitaryUnitImageLocation=""
|
||||||
protected var pixelMilitaryUnitImage: Image? = null
|
protected var pixelMilitaryUnitImage: Image? = null
|
||||||
protected var pixelCivilianUnitImage: Image? = null
|
protected var pixelCivilianUnitImage: Image? = null
|
||||||
|
|
||||||
@ -213,8 +216,10 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings)
|
|||||||
updateTileImage(true)
|
updateTileImage(true)
|
||||||
updateTerrainBaseImage()
|
updateTerrainBaseImage()
|
||||||
updateTerrainFeatureImage()
|
updateTerrainFeatureImage()
|
||||||
updatePixelMilitaryUnit(showMilitaryUnit)
|
|
||||||
updatePixelCivilianUnit()
|
updatePixelMilitaryUnit(tileIsViewable && showMilitaryUnit)
|
||||||
|
updatePixelCivilianUnit(tileIsViewable)
|
||||||
|
|
||||||
updateCityImage()
|
updateCityImage()
|
||||||
updateTileColor(tileIsViewable)
|
updateTileColor(tileIsViewable)
|
||||||
|
|
||||||
@ -401,36 +406,40 @@ open class TileGroup(var tileInfo: TileInfo, var tileSetStrings:TileSetStrings)
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun updatePixelMilitaryUnit(showMilitaryUnit: Boolean) {
|
fun updatePixelMilitaryUnit(showMilitaryUnit: Boolean) {
|
||||||
if (tileInfo.militaryUnit==null || !showMilitaryUnit) {
|
var newImageLocation = ""
|
||||||
if (pixelMilitaryUnitImage != null) {
|
|
||||||
pixelMilitaryUnitImage!!.remove()
|
|
||||||
pixelMilitaryUnitImage = null
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (pixelMilitaryUnitImage == null) {
|
|
||||||
var imageLocation = ""
|
|
||||||
|
|
||||||
|
|
||||||
|
if (tileInfo.militaryUnit != null && showMilitaryUnit) {
|
||||||
|
val unitType = tileInfo.militaryUnit!!.type
|
||||||
val specificUnitIconLocation = tileSetStrings.unitsLocation+tileInfo.militaryUnit!!.name
|
val specificUnitIconLocation = tileSetStrings.unitsLocation+tileInfo.militaryUnit!!.name
|
||||||
if(ImageGetter.imageExists(specificUnitIconLocation))
|
if(ImageGetter.imageExists(specificUnitIconLocation))
|
||||||
imageLocation = specificUnitIconLocation
|
newImageLocation = specificUnitIconLocation
|
||||||
else if (tileInfo.militaryUnit!!.type.isLandUnit() && ImageGetter.imageExists(tileSetStrings.landUnit))
|
else if(unitType == UnitType.Mounted) newImageLocation = tileSetStrings.unitsLocation+"Horseman"
|
||||||
imageLocation = tileSetStrings.landUnit
|
else if(unitType == UnitType.Ranged) newImageLocation = tileSetStrings.unitsLocation+"Archer"
|
||||||
else if (tileInfo.militaryUnit!!.type.isWaterUnit() && ImageGetter.imageExists(tileSetStrings.waterUnit))
|
else if(unitType == UnitType.Armor) newImageLocation = tileSetStrings.unitsLocation+"Tank"
|
||||||
imageLocation = tileSetStrings.waterUnit
|
else if(unitType == UnitType.Siege) newImageLocation = tileSetStrings.unitsLocation+"Catapult"
|
||||||
|
else if (unitType.isLandUnit() && ImageGetter.imageExists(tileSetStrings.landUnit))
|
||||||
|
newImageLocation = tileSetStrings.landUnit
|
||||||
|
else if (unitType.isWaterUnit() && ImageGetter.imageExists(tileSetStrings.waterUnit))
|
||||||
|
newImageLocation = tileSetStrings.waterUnit
|
||||||
|
}
|
||||||
|
|
||||||
if (imageLocation != "") {
|
if(pixelMilitaryUnitImageLocation != newImageLocation){
|
||||||
val pixelUnitImage = ImageGetter.getImage(imageLocation)
|
pixelMilitaryUnitImage?.remove()
|
||||||
terrainFeatureLayerGroup.addActor(pixelUnitImage)
|
pixelMilitaryUnitImage = null
|
||||||
setHexagonImageSize(pixelUnitImage)// Treat this as A TILE, which gets overlayed on the base tile.
|
pixelMilitaryUnitImageLocation = newImageLocation
|
||||||
pixelMilitaryUnitImage=pixelUnitImage
|
|
||||||
}
|
if(newImageLocation!=""){
|
||||||
|
val pixelUnitImage = ImageGetter.getImage(newImageLocation)
|
||||||
|
terrainFeatureLayerGroup.addActor(pixelUnitImage)
|
||||||
|
setHexagonImageSize(pixelUnitImage)// Treat this as A TILE, which gets overlayed on the base tile.
|
||||||
|
pixelMilitaryUnitImage=pixelUnitImage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updatePixelCivilianUnit() {
|
fun updatePixelCivilianUnit(tileIsViewable: Boolean) {
|
||||||
if (tileInfo.civilianUnit==null) {
|
if (tileInfo.civilianUnit==null || !tileIsViewable) {
|
||||||
if (pixelCivilianUnitImage != null) {
|
if (pixelCivilianUnitImage != null) {
|
||||||
pixelCivilianUnitImage!!.remove()
|
pixelCivilianUnitImage!!.remove()
|
||||||
pixelCivilianUnitImage = null
|
pixelCivilianUnitImage = null
|
||||||
|