mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 14:24:43 -04:00
Resolved #9177 - Tileset no longer reverts to default on Android after restarting game
This commit is contained in:
parent
f98f4e8c9b
commit
2fbd24231f
@ -189,8 +189,8 @@ open class UncivGame(val isConsoleMode: Boolean = false) : Game(), PlatformSpeci
|
|||||||
|
|
||||||
ImageGetter.resetAtlases()
|
ImageGetter.resetAtlases()
|
||||||
ImageGetter.setNewRuleset(ImageGetter.ruleset) // This needs to come after the settings, since we may have default visual mods
|
ImageGetter.setNewRuleset(ImageGetter.ruleset) // This needs to come after the settings, since we may have default visual mods
|
||||||
val availableTileSets = ImageGetter.getAvailableTilesets().toSet()
|
val imageGetterTilesets = ImageGetter.getAvailableTilesets()
|
||||||
.intersect(TileSetCache.getAvailableTilesets().toSet())
|
val availableTileSets = TileSetCache.getAvailableTilesets(imageGetterTilesets)
|
||||||
if (settings.tileSet !in availableTileSets) { // If the configured tileset is no longer available, default back
|
if (settings.tileSet !in availableTileSets) { // If the configured tileset is no longer available, default back
|
||||||
settings.tileSet = Constants.defaultTileset
|
settings.tileSet = Constants.defaultTileset
|
||||||
}
|
}
|
||||||
|
@ -82,18 +82,19 @@ object TileSetCache : HashMap<String, TileSet>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Determines potentially available TileSets - by scanning for TileSet jsons.
|
/** Determines potentially available TileSets - by scanning for TileSet jsons.
|
||||||
*
|
|
||||||
* Available before initialization finishes.
|
* Available before initialization finishes.
|
||||||
* To get more reliable info, either wait until `this` is fully initialized,
|
|
||||||
* or intersect with [ImageGetter.getAvailableTilesets]
|
|
||||||
*/
|
*/
|
||||||
fun getAvailableTilesets() = sequence<FileHandle> {
|
fun getAvailableTilesets(imageGetterTilesets:Sequence<String>): Set<String> {
|
||||||
yieldAll(FileHandle("jsons/TileSets").list().asIterable())
|
val modTilesetConfigFiles = Gdx.files.local("mods").list().asSequence()
|
||||||
for (modFolder in FileHandle("mods").list()) {
|
.filter { it.isDirectory && !it.name().startsWith('.') }
|
||||||
if (!modFolder.isDirectory || modFolder.name().startsWith('.'))
|
.flatMap { it.child("jsons/TileSets").list().asSequence() }
|
||||||
continue
|
|
||||||
yieldAll(modFolder.child("jsons/TileSets").list().asIterable())
|
val builtinTilesetConfigFiles = imageGetterTilesets
|
||||||
}
|
.map { Gdx.files.internal("jsons/TileSets/$it.json") }
|
||||||
}.filter { it.exists() }
|
|
||||||
.map { it.nameWithoutExtension().removeSuffix("Config") }
|
return (builtinTilesetConfigFiles + modTilesetConfigFiles)
|
||||||
|
.filter { it.exists() }
|
||||||
|
.map { it.nameWithoutExtension().removeSuffix("Config") }
|
||||||
|
.toSet()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user