mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-21 05:09:25 +07:00
National wonders requiring buildings (e.g. Library) now accept unique replacements (e.g. Paper Maker)
This commit is contained in:
@ -90,6 +90,8 @@ class CityConstructions {
|
|||||||
|
|
||||||
internal fun getBuiltBuildings(): List<Building> = builtBuildings.map { GameBasics.Buildings[it]!! }
|
internal fun getBuiltBuildings(): List<Building> = builtBuildings.map { GameBasics.Buildings[it]!! }
|
||||||
|
|
||||||
|
fun containsBuildingOrEquivalent(building: String): Boolean =
|
||||||
|
isBuilt(building) || getBuiltBuildings().any{it.replaces==building}
|
||||||
|
|
||||||
fun getWorkDone(constructionName: String): Int {
|
fun getWorkDone(constructionName: String): Int {
|
||||||
if (inProgressConstructions.containsKey(constructionName)) return inProgressConstructions[constructionName]!!
|
if (inProgressConstructions.containsKey(constructionName)) return inProgressConstructions[constructionName]!!
|
||||||
|
@ -164,9 +164,9 @@ class Building : NamedStats(), IConstruction{
|
|||||||
it.cityConstructions.isBuilding(name) || it.cityConstructions.isBuilt(name)
|
it.cityConstructions.isBuilding(name) || it.cityConstructions.isBuilt(name)
|
||||||
})
|
})
|
||||||
return false
|
return false
|
||||||
if (requiredBuilding != null && !construction.isBuilt(requiredBuilding!!)
|
|
||||||
&& construction.getBuiltBuildings().none{it.replaces==requiredBuilding}) return false
|
if (requiredBuilding != null && !construction.containsBuildingOrEquivalent(requiredBuilding!!)) return false
|
||||||
if (requiredBuildingInAllCities != null && civInfo.cities.any { !it.cityConstructions.isBuilt(requiredBuildingInAllCities!!) })
|
if (requiredBuildingInAllCities != null && civInfo.cities.any { !it.cityConstructions.containsBuildingOrEquivalent(requiredBuildingInAllCities!!) })
|
||||||
return false
|
return false
|
||||||
if(requiredBuildingInAllCities!=null && civInfo.cities.any {
|
if(requiredBuildingInAllCities!=null && civInfo.cities.any {
|
||||||
it.cityConstructions.isBuilding(name) || it.cityConstructions.isBuilt(name)
|
it.cityConstructions.isBuilding(name) || it.cityConstructions.isBuilt(name)
|
||||||
|
@ -27,7 +27,6 @@ class WorldScreen : CameraStageBaseScreen() {
|
|||||||
val tileMapHolder: TileMapHolder = TileMapHolder(this, gameInfo.tileMap)
|
val tileMapHolder: TileMapHolder = TileMapHolder(this, gameInfo.tileMap)
|
||||||
val minimap = Minimap(tileMapHolder)
|
val minimap = Minimap(tileMapHolder)
|
||||||
|
|
||||||
internal var buttonScale = 0.9f
|
|
||||||
private val topBar = WorldScreenTopBar(this)
|
private val topBar = WorldScreenTopBar(this)
|
||||||
val bottomBar = WorldScreenBottomBar(this)
|
val bottomBar = WorldScreenBottomBar(this)
|
||||||
val unitActionsTable = UnitActionsTable(this)
|
val unitActionsTable = UnitActionsTable(this)
|
||||||
|
@ -47,8 +47,7 @@ class UnitActionsTable(val worldScreen: WorldScreen) : Table(){
|
|||||||
clear()
|
clear()
|
||||||
if (unit == null) return
|
if (unit == null) return
|
||||||
for (button in UnitActions().getUnitActions(unit, worldScreen).map { getUnitActionButton(it) })
|
for (button in UnitActions().getUnitActions(unit, worldScreen).map { getUnitActionButton(it) })
|
||||||
add(button).colspan(2).pad(5f)
|
add(button).colspan(2).pad(5f).row()
|
||||||
.size(button.width * worldScreen.buttonScale, button.height * worldScreen.buttonScale).row()
|
|
||||||
pack()
|
pack()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user