TileInfo

open class TileInfo

Functions

aerialDistanceTo
Link copied to clipboard
fun aerialDistanceTo(otherTile: TileInfo): Int
canBeSettled
Link copied to clipboard
fun canBeSettled(): Boolean
canBuildImprovement
Link copied to clipboard
fun canBuildImprovement(improvement: TileImprovement, civInfo: CivilizationInfo): Boolean

Returns true if the improvement can be built on this TileInfo

canCivPassThrough
Link copied to clipboard
fun canCivPassThrough(civInfo: CivilizationInfo): Boolean
canImprovementBeBuiltHere
Link copied to clipboard
private fun canImprovementBeBuiltHere(improvement: TileImprovement, resourceIsVisible: Boolean = resource != null): Boolean

Without regards to what CivInfo it is, a lot of the checks are just for the improvement on the tile. Doubles as a check for the map editor.

clearContinent
Link copied to clipboard
fun clearContinent()

Clear continent ID, for map editor

clone
Link copied to clipboard
fun clone(): TileInfo
containsGreatImprovement
Link copied to clipboard
fun containsGreatImprovement(): Boolean
containsUnfinishedGreatImprovement
Link copied to clipboard
fun containsUnfinishedGreatImprovement(): Boolean
convertHillToTerrainFeature
Link copied to clipboard
private fun convertHillToTerrainFeature()
equals
Link copied to clipboard
open operator fun equals(other: Any?): Boolean
forestOrJungleAreRoads
Link copied to clipboard
private fun forestOrJungleAreRoads(civInfo: CivilizationInfo): Boolean
getAllTerrains
Link copied to clipboard
fun getAllTerrains(): Sequence<Terrain>
getBaseTerrain
Link copied to clipboard
fun getBaseTerrain(): Terrain
getCity
Link copied to clipboard
fun getCity(): CityInfo?
getContinent
Link copied to clipboard
fun getContinent(): Int
getDefensiveBonus
Link copied to clipboard
fun getDefensiveBonus(): Float
getFirstUnit
Link copied to clipboard
fun getFirstUnit(): MapUnit?

This is for performance reasons of canPassThrough() - faster than getUnits().firstOrNull()

getImprovementStats
Link copied to clipboard
fun getImprovementStats(improvement: TileImprovement, observingCiv: CivilizationInfo, city: CityInfo?): Stats
getLastTerrain
Link copied to clipboard
fun getLastTerrain(): Terrain
getLeftSharedNeighbor
Link copied to clipboard
fun getLeftSharedNeighbor(neighbor: TileInfo): TileInfo?

Returns the left shared neighbor of this and neighbor (relative to the view direction this->neighbor), or null if there is no such tile.

getNaturalWonder
Link copied to clipboard
private fun getNaturalWonder(): Terrain
getOwner
Link copied to clipboard
fun getOwner(): CivilizationInfo?
getRightSharedNeighbor
Link copied to clipboard
fun getRightSharedNeighbor(neighbor: TileInfo): TileInfo?

Returns the right shared neighbor this and neighbor (relative to the view direction this->neighbor), or null if there is no such tile.

getRulesetIncompatibility
Link copied to clipboard
fun getRulesetIncompatibility(ruleset: Ruleset): HashSet<String>
getShownImprovement
Link copied to clipboard
fun getShownImprovement(viewingCiv: CivilizationInfo?): String?
getTerrainFeatures
Link copied to clipboard
fun getTerrainFeatures(): List<Terrain>
getTileFertility
Link copied to clipboard
fun getTileFertility(checkCoasts: Boolean): Int
getTileImprovement
Link copied to clipboard
fun getTileImprovement(): TileImprovement?
getTileImprovementInProgress
Link copied to clipboard
fun getTileImprovementInProgress(): TileImprovement?
getTilesAtDistance
Link copied to clipboard
fun getTilesAtDistance(distance: Int): Sequence<TileInfo>
getTilesInDistance
Link copied to clipboard
fun getTilesInDistance(distance: Int): Sequence<TileInfo>
getTilesInDistanceRange
Link copied to clipboard
fun getTilesInDistanceRange(range: IntRange): Sequence<TileInfo>
getTileStartScore
Link copied to clipboard
fun getTileStartScore(): Float
getTileStartYield
Link copied to clipboard
private fun getTileStartYield(isCenter: Boolean): Float
getTileStats
Link copied to clipboard
fun getTileStats(observingCiv: CivilizationInfo?): Stats
fun getTileStats(city: CityInfo?, observingCiv: CivilizationInfo?): Stats
getUnits
Link copied to clipboard
fun getUnits(): Sequence<MapUnit>

Returns military, civilian and air units in tile

getViewableTilesList
Link copied to clipboard
fun getViewableTilesList(distance: Int): List<TileInfo>
getWorkingCity
Link copied to clipboard
fun getWorkingCity(): CityInfo?
hasConnection
Link copied to clipboard
fun hasConnection(civInfo: CivilizationInfo): Boolean
hasEnemyInvisibleUnit
Link copied to clipboard
fun hasEnemyInvisibleUnit(viewingCiv: CivilizationInfo): Boolean
hashCode
Link copied to clipboard
open fun hashCode(): Int
hasImprovementInProgress
Link copied to clipboard
fun hasImprovementInProgress(): Boolean
hasUnique
Link copied to clipboard
fun hasUnique(uniqueType: UniqueType): Boolean
fun hasUnique(unique: String): Boolean
hasViewableResource
Link copied to clipboard
fun hasViewableResource(civInfo: CivilizationInfo): Boolean
isAdjacentToRiver
Link copied to clipboard
fun isAdjacentToRiver(): Boolean
isCityCenter
Link copied to clipboard
fun isCityCenter(): Boolean
isCoastalTile
Link copied to clipboard
fun isCoastalTile(): Boolean
isConnectedByRiver
Link copied to clipboard
fun isConnectedByRiver(otherTile: TileInfo): Boolean

The two tiles have a river between them

isEnemyTerritory
Link copied to clipboard
fun isEnemyTerritory(civInfo: CivilizationInfo): Boolean
isFriendlyTerritory
Link copied to clipboard
fun isFriendlyTerritory(civInfo: CivilizationInfo): Boolean
isHill
Link copied to clipboard
fun isHill(): Boolean
isImpassible
Link copied to clipboard
fun isImpassible(): Boolean
isLocked
Link copied to clipboard
fun isLocked(): Boolean
isNaturalWonder
Link copied to clipboard
fun isNaturalWonder(): Boolean
isRoughTerrain
Link copied to clipboard
fun isRoughTerrain(): Boolean
isWorked
Link copied to clipboard
fun isWorked(): Boolean
matchesFilter
Link copied to clipboard
fun matchesFilter(filter: String, civInfo: CivilizationInfo? = null): Boolean

Implementation of tileFilter

matchesTerrainFilter
Link copied to clipboard
fun matchesTerrainFilter(filter: String, observingCiv: CivilizationInfo? = null): Boolean
normalizeTileImprovement
Link copied to clipboard
private fun normalizeTileImprovement(ruleset: Ruleset)
normalizeToRuleset
Link copied to clipboard
fun normalizeToRuleset(ruleset: Ruleset)
providesYield
Link copied to clipboard
fun providesYield(): Boolean
removeUnit
Link copied to clipboard
fun removeUnit(mapUnit: MapUnit)

If the unit isn't in the ruleset we can't even know what type of unit this is! So check each place This works with no transients so can be called from gameInfo.setTransients with no fear

setContinent
Link copied to clipboard
fun setContinent(continent: Int)

Assign a continent ID to this tile.

setTerrainTransients
Link copied to clipboard
fun setTerrainTransients()
setTileResource
Link copied to clipboard
fun setTileResource(newResource: TileResource, majorDeposit: Boolean = false)
setTransients
Link copied to clipboard
fun setTransients()
setUnitTransients
Link copied to clipboard
fun setUnitTransients(unitCivTransients: Boolean)
startWorkingOnImprovement
Link copied to clipboard
fun startWorkingOnImprovement(improvement: TileImprovement, civInfo: CivilizationInfo)
stopWorkingOnImprovement
Link copied to clipboard
fun stopWorkingOnImprovement()
stripUnits
Link copied to clipboard
fun stripUnits()
toMarkup
Link copied to clipboard
fun toMarkup(viewingCiv: CivilizationInfo?): ArrayList<FormattedLine>
toString
Link copied to clipboard
open override fun toString(): String

Shows important properties of this tile for debugging only, it helps to see what you're doing

Properties

_isCoastalTile
Link copied to clipboard
private val _isCoastalTile: Boolean
airUnits
Link copied to clipboard
var airUnits: ArrayList<MapUnit>
baseTerrain
Link copied to clipboard
lateinit var baseTerrain: String
baseTerrainObject
Link copied to clipboard
private lateinit var baseTerrainObject: Terrain
civilianUnit
Link copied to clipboard
var civilianUnit: MapUnit? = null
continent
Link copied to clipboard
private var continent: Int
hasBottomLeftRiver
Link copied to clipboard
var hasBottomLeftRiver: Boolean = false
hasBottomRightRiver
Link copied to clipboard
var hasBottomRightRiver: Boolean = false
hasBottomRiver
Link copied to clipboard
var hasBottomRiver: Boolean = false
height
Link copied to clipboard
val height: Int
improvement
Link copied to clipboard
var improvement: String? = null
improvementInProgress
Link copied to clipboard
var improvementInProgress: String? = null
isAdjacentToFreshwater
Link copied to clipboard
val isAdjacentToFreshwater: Boolean
isLand
Link copied to clipboard
var isLand: Boolean = false
isOcean
Link copied to clipboard
var isOcean: Boolean = false
isWater
Link copied to clipboard
var isWater: Boolean = false
latitude
Link copied to clipboard
val latitude: Float
longitude
Link copied to clipboard
val longitude: Float
militaryUnit
Link copied to clipboard
var militaryUnit: MapUnit? = null
naturalWonder
Link copied to clipboard
var naturalWonder: String? = null
neighbors
Link copied to clipboard
val neighbors: Sequence<TileInfo>
owningCity
Link copied to clipboard
var owningCity: CityInfo? = null
position
Link copied to clipboard
var position: Vector2
resource
Link copied to clipboard
var resource: String? = null
resourceAmount
Link copied to clipboard
var resourceAmount: Int = 0
roadStatus
Link copied to clipboard
var roadStatus: RoadStatus
ruleset
Link copied to clipboard
lateinit var ruleset: Ruleset
terrainFeatures
Link copied to clipboard
val terrainFeatures: ArrayList<String>
tileMap
Link copied to clipboard
lateinit var tileMap: TileMap
tileResource
Link copied to clipboard
val tileResource: TileResource
turnsToImprovement
Link copied to clipboard
var turnsToImprovement: Int = 0

Sources

jvm source
Link copied to clipboard