From 5fa08d9f2dc3ad2f3a7404eb06b7f8483bb247a1 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Tue, 16 Feb 2021 20:02:54 +0200 Subject: [PATCH] Can now create as many tech rows as you wish in mods :) --- .../com/unciv/ui/pickerscreens/TechPickerScreen.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt index d29e622020..5d85dd6530 100644 --- a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt @@ -93,21 +93,22 @@ class TechPickerScreen(internal val civInfo: CivilizationInfo, centerOnTech: Tec private fun createTechTable() { val allTechs = civInfo.gameInfo.ruleSet.technologies.values - val columns = allTechs.map { it.column!!.columnNumber }.max()!! + 1 - val techMatrix = Array>(columns) { arrayOfNulls(10) } // Divided into columns, then rows + val columns = allTechs.map { it.column!!.columnNumber }.maxOrNull()!! + 1 + val rows = allTechs.map { it.row }.maxOrNull()!! + 1 + val techMatrix = Array>(columns) { arrayOfNulls(rows) } // Divided into columns, then rows for (technology in allTechs) { techMatrix[technology.column!!.columnNumber][technology.row - 1] = technology } val erasNamesToColumns = LinkedHashMap>() - for(tech in allTechs) { + for (tech in allTechs) { val era = tech.era() if (!erasNamesToColumns.containsKey(era)) erasNamesToColumns[era] = ArrayList() val columnNumber = tech.column!!.columnNumber if (!erasNamesToColumns[era]!!.contains(columnNumber)) erasNamesToColumns[era]!!.add(columnNumber) } - var i=0 + var i = 0 for ((era, columns) in erasNamesToColumns) { val columnSpan = columns.size val color = if (i % 2 == 0) Color.BLUE else Color.FIREBRICK @@ -283,4 +284,4 @@ class TechPickerScreen(internal val civInfo: CivilizationInfo, centerOnTech: Tec } } -} +} \ No newline at end of file