mirror of
https://github.com/yairm210/Unciv.git
synced 2025-03-13 19:39:34 +07:00
Renamed Unit to BaseUnit so it wouldn't conflict with Kotlin's Unit cllass
This commit is contained in:
parent
0d261e88bf
commit
ea20201c1b
@ -7,7 +7,7 @@ import com.unciv.logic.civilization.CivilizationInfo
|
||||
import com.unciv.logic.map.MapUnit
|
||||
import com.unciv.logic.map.TileInfo
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.unit.Unit
|
||||
import com.unciv.models.gamebasics.unit.BaseUnit
|
||||
import com.unciv.models.gamebasics.unit.UnitType
|
||||
import com.unciv.ui.utils.getRandom
|
||||
|
||||
@ -99,7 +99,7 @@ class Automation {
|
||||
|
||||
private fun trainCombatUnit(city: CityInfo) {
|
||||
val combatUnits = city.cityConstructions.getConstructableUnits().filter { it.unitType != UnitType.Civilian }
|
||||
val chosenUnit: Unit
|
||||
val chosenUnit: BaseUnit
|
||||
if(city.civInfo.cities.any { it.getCenterTile().militaryUnit==null}
|
||||
&& combatUnits.any { it.unitType== UnitType.Ranged }) // this is for city defence so get an archery unit if we can
|
||||
chosenUnit = combatUnits.filter { it.unitType== UnitType.Ranged }.maxBy { it.cost }!!
|
||||
|
@ -4,7 +4,7 @@ package com.unciv.logic.civilization
|
||||
import com.badlogic.gdx.graphics.Color
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.tech.Technology
|
||||
import com.unciv.models.gamebasics.unit.Unit
|
||||
import com.unciv.models.gamebasics.unit.BaseUnit
|
||||
import com.unciv.ui.utils.tr
|
||||
import java.util.*
|
||||
|
||||
@ -89,7 +89,7 @@ class TechManager {
|
||||
val obsoleteUnits = GameBasics.Units.values.filter { it.obsoleteTech==currentTechnology }
|
||||
for(city in civInfo.cities)
|
||||
if(city.cityConstructions.getCurrentConstruction() in obsoleteUnits){
|
||||
val currentConstructionUnit = city.cityConstructions.getCurrentConstruction() as Unit
|
||||
val currentConstructionUnit = city.cityConstructions.getCurrentConstruction() as BaseUnit
|
||||
city.cityConstructions.currentConstruction = currentConstructionUnit.upgradesTo!!
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ import com.badlogic.gdx.math.Vector2
|
||||
import com.unciv.logic.automation.WorkerAutomation
|
||||
import com.unciv.logic.civilization.CivilizationInfo
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.unit.Unit
|
||||
import com.unciv.models.gamebasics.unit.BaseUnit
|
||||
import com.unciv.models.gamebasics.unit.UnitType
|
||||
import java.text.DecimalFormat
|
||||
|
||||
@ -25,7 +25,7 @@ class MapUnit {
|
||||
promotions.unit=this
|
||||
}
|
||||
|
||||
fun getBaseUnit(): Unit = GameBasics.Units[name]!!
|
||||
fun getBaseUnit(): BaseUnit = GameBasics.Units[name]!!
|
||||
fun getMovementString(): String = DecimalFormat("0.#").format(currentMovement.toDouble()) + "/" + maxMovement
|
||||
fun getTile(): TileInfo {
|
||||
return civInfo.gameInfo.tileMap.values.first{it.militaryUnit==this || it.civilianUnit==this}
|
||||
|
@ -7,7 +7,7 @@ import com.unciv.models.gamebasics.tech.Technology
|
||||
import com.unciv.models.gamebasics.tile.Terrain
|
||||
import com.unciv.models.gamebasics.tile.TileImprovement
|
||||
import com.unciv.models.gamebasics.tile.TileResource
|
||||
import com.unciv.models.gamebasics.unit.Unit
|
||||
import com.unciv.models.gamebasics.unit.BaseUnit
|
||||
import com.unciv.models.gamebasics.unit.Promotion
|
||||
import com.unciv.models.stats.INamed
|
||||
import kotlin.collections.set
|
||||
@ -19,7 +19,7 @@ object GameBasics {
|
||||
val TileImprovements = LinkedHashMap<String, TileImprovement>()
|
||||
val Technologies = LinkedHashMap<String, Technology>()
|
||||
val Helps = LinkedHashMap<String, BasicHelp>()
|
||||
val Units = LinkedHashMap<String, Unit>()
|
||||
val Units = LinkedHashMap<String, BaseUnit>()
|
||||
val UnitPromotions = LinkedHashMap<String, Promotion>()
|
||||
val Civilizations = LinkedHashMap<String, Civilization>()
|
||||
val PolicyBranches = LinkedHashMap<String, PolicyBranch>()
|
||||
@ -44,7 +44,7 @@ object GameBasics {
|
||||
TileResources += createHashmap(getFromJson(Array<TileResource>::class.java, "TileResources"))
|
||||
TileImprovements += createHashmap(getFromJson(Array<TileImprovement>::class.java, "TileImprovements"))
|
||||
Helps += createHashmap(getFromJson(Array<BasicHelp>::class.java, "BasicHelp"))
|
||||
Units += createHashmap(getFromJson(Array<Unit>::class.java, "Units"))
|
||||
Units += createHashmap(getFromJson(Array<BaseUnit>::class.java, "Units"))
|
||||
UnitPromotions += createHashmap(getFromJson(Array<Promotion>::class.java, "UnitPromotions"))
|
||||
PolicyBranches += createHashmap(getFromJson(Array<PolicyBranch>::class.java, "Policies"))
|
||||
Civilizations += createHashmap(getFromJson(Array<Civilization>::class.java, "Civilizations"))
|
||||
|
@ -9,7 +9,8 @@ import com.unciv.models.gamebasics.ICivilopedia
|
||||
import com.unciv.models.stats.INamed
|
||||
import com.unciv.ui.utils.tr
|
||||
|
||||
class Unit : INamed, IConstruction, ICivilopedia {
|
||||
// This is BaseUnit because Unit is already a base Kotlin class and to avoid mixing the two up
|
||||
class BaseUnit : INamed, IConstruction, ICivilopedia {
|
||||
|
||||
override lateinit var name: String
|
||||
var baseDescription: String? = null
|
||||
@ -105,5 +106,12 @@ class Unit : INamed, IConstruction, ICivilopedia {
|
||||
unit.promotions.XP += construction.getBuiltBuildings().sumBy { it.xpForNewUnits }
|
||||
}
|
||||
|
||||
fun getUpgradeUnit(civInfo: CivilizationInfo):BaseUnit{
|
||||
val uniqueUnitReplacesUpgrade: BaseUnit? = GameBasics.Units.values
|
||||
.firstOrNull{it.uniqueTo==civInfo.civName && it.replaces == upgradesTo}
|
||||
if(uniqueUnitReplacesUpgrade!=null) return uniqueUnitReplacesUpgrade
|
||||
return GameBasics.Units[upgradesTo!!]!!
|
||||
}
|
||||
|
||||
override fun toString(): String = name
|
||||
}
|
@ -5,13 +5,13 @@ import com.badlogic.gdx.scenes.scene2d.ui.Button
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Label
|
||||
import com.unciv.UnCivGame
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.unit.Unit
|
||||
import com.unciv.models.gamebasics.unit.BaseUnit
|
||||
import com.unciv.ui.utils.ImageGetter
|
||||
import com.unciv.ui.utils.addClickListener
|
||||
import com.unciv.ui.utils.setFontColor
|
||||
|
||||
class GreatPersonPickerScreen : PickerScreen() {
|
||||
private var theChosenOne: Unit? = null
|
||||
private var theChosenOne: BaseUnit? = null
|
||||
|
||||
init {
|
||||
closeButton.isVisible=false
|
||||
|
Loading…
Reference in New Issue
Block a user