From a84470c74e93b3fd3c3e33d40757f415d8198a74 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Wed, 1 Feb 2023 20:47:29 +0200 Subject: [PATCH] Resolved #8529 - fixed 5hex image issues --- core/src/com/unciv/models/tilesets/TileSet.kt | 12 +++++++----- core/src/com/unciv/models/tilesets/TileSetCache.kt | 7 ++++--- core/src/com/unciv/models/tilesets/TileSetConfig.kt | 1 + 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/core/src/com/unciv/models/tilesets/TileSet.kt b/core/src/com/unciv/models/tilesets/TileSet.kt index 02454342c4..809504891c 100644 --- a/core/src/com/unciv/models/tilesets/TileSet.kt +++ b/core/src/com/unciv/models/tilesets/TileSet.kt @@ -5,14 +5,14 @@ class TileSet(val name: String) { var config = TileSetConfig() var fallback: TileSet? = null - private val configs = HashMap() + private val modNameToConfig = HashMap() - fun addConfig(id: String, config: TileSetConfig) { - configs[id] = config + fun cacheConfigFromMod(modName: String, config: TileSetConfig) { + modNameToConfig[modName] = config } - fun mergeConfig(id: String) { - val configToMerge = configs[id] ?: return + fun mergeModConfig(modName: String) { + val configToMerge = modNameToConfig[modName] ?: return config.updateConfig(configToMerge) } @@ -24,4 +24,6 @@ class TileSet(val name: String) { const val DEFAULT = "INTERNAL" } + override fun toString(): String = name + } diff --git a/core/src/com/unciv/models/tilesets/TileSetCache.kt b/core/src/com/unciv/models/tilesets/TileSetCache.kt index e987bfdd6e..5c15c2f551 100644 --- a/core/src/com/unciv/models/tilesets/TileSetCache.kt +++ b/core/src/com/unciv/models/tilesets/TileSetCache.kt @@ -7,7 +7,6 @@ import com.unciv.json.fromJsonFile import com.unciv.json.json import com.unciv.models.ruleset.RulesetCache import com.unciv.ui.images.ImageGetter -import com.unciv.utils.debug object TileSetCache : HashMap() { @@ -33,7 +32,9 @@ object TileSetCache : HashMap() { values.forEach { it.resetConfig() } for (mod in mods.distinct()) { - values.forEach { it.mergeConfig(mod) } + for (tileset in values) { + tileset.mergeModConfig(mod) + } } } @@ -75,7 +76,7 @@ object TileSetCache : HashMap() { val name = configFile.nameWithoutExtension().removeSuffix("Config") val config = json().fromJsonFile(TileSetConfig::class.java, configFile) val tileset = get(name) ?: TileSet(name) - tileset.addConfig(configId, config) + tileset.cacheConfigFromMod(configId, config) set(name, tileset) } } diff --git a/core/src/com/unciv/models/tilesets/TileSetConfig.kt b/core/src/com/unciv/models/tilesets/TileSetConfig.kt index 25457a4b13..529c053e24 100644 --- a/core/src/com/unciv/models/tilesets/TileSetConfig.kt +++ b/core/src/com/unciv/models/tilesets/TileSetConfig.kt @@ -33,6 +33,7 @@ class TileSetConfig { unexploredTileColor = other.unexploredTileColor fogOfWarColor = other.fogOfWarColor fallbackTileSet = other.fallbackTileSet + tileScale = other.tileScale for ((tileString, scale) in other.tileScales){ tileScales[tileString] = scale }