From ff3795c96fef84de82eb3075da3a441dc9f72607 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Tue, 19 Nov 2019 20:16:53 +0200 Subject: [PATCH] TechButton now displays units and buildings corresponding to the description --- .../unciv/models/gamebasics/tech/Technology.kt | 2 +- .../com/unciv/ui/pickerscreens/TechButton.kt | 18 +++--------------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/core/src/com/unciv/models/gamebasics/tech/Technology.kt b/core/src/com/unciv/models/gamebasics/tech/Technology.kt index ec1bb40022..625c002c5d 100644 --- a/core/src/com/unciv/models/gamebasics/tech/Technology.kt +++ b/core/src/com/unciv/models/gamebasics/tech/Technology.kt @@ -66,7 +66,7 @@ class Technology { return lineList.joinToString("\n") { it.tr() } } - private fun getEnabledBuildings(civInfo: CivilizationInfo): List { + fun getEnabledBuildings(civInfo: CivilizationInfo): List { var enabledBuildings = GameBasics.Buildings.values.filter { it.requiredTech == name && (it.uniqueTo == null || it.uniqueTo == civInfo.civName) diff --git a/core/src/com/unciv/ui/pickerscreens/TechButton.kt b/core/src/com/unciv/ui/pickerscreens/TechButton.kt index 9540e848d7..df8f3bdb80 100644 --- a/core/src/com/unciv/ui/pickerscreens/TechButton.kt +++ b/core/src/com/unciv/ui/pickerscreens/TechButton.kt @@ -44,23 +44,12 @@ class TechButton(techName:String, val techManager: TechManager, isWorldScreen: B val civName = techManager.civInfo.civName - val techEnabledUnits = GameBasics.Units.values.filter { it.requiredTech == techName } - val ourUniqueUnits = techEnabledUnits.filter { it.uniqueTo == civName } - val replacedUnits = ourUniqueUnits.map { it.replaces!! } - val ourEnabledUnits = techEnabledUnits.filter { it.uniqueTo == null && !replacedUnits.contains(it.name) } - .union(ourUniqueUnits) + val tech = GameBasics.Technologies[techName]!! - for (unit in ourEnabledUnits) + for (unit in tech.getEnabledUnits(techManager.civInfo)) techEnabledIcons.add(ImageGetter.getConstructionImage(unit.name).surroundWithCircle(30f)) - val techEnabledBuildings = GameBasics.Buildings.values.filter { it.requiredTech == techName } - val ourUniqueBuildings = techEnabledBuildings.filter { it.uniqueTo == civName } - val replacedBuildings = ourUniqueBuildings.map { it.replaces!! } - val ourEnabledBuildings = techEnabledBuildings - .filter { it.uniqueTo == null && !replacedBuildings.contains(it.name) } - .union(ourUniqueBuildings) - - for (building in ourEnabledBuildings) + for (building in tech.getEnabledBuildings(techManager.civInfo)) techEnabledIcons.add(ImageGetter.getConstructionImage(building.name).surroundWithCircle(30f)) for (improvement in GameBasics.TileImprovements.values @@ -74,7 +63,6 @@ class TechButton(techName:String, val techManager: TechManager, isWorldScreen: B for (resource in GameBasics.TileResources.values.filter { it.revealedBy == techName }) techEnabledIcons.add(ImageGetter.getResourceImage(resource.name, 30f)) - val tech = GameBasics.Technologies[techName]!! for (unique in tech.uniques) techEnabledIcons.add(ImageGetter.getImage("OtherIcons/Star") .apply { color = Color.BLACK }.surroundWithCircle(30f))