mirror of
https://github.com/yairm210/Unciv.git
synced 2025-02-03 12:54:43 +07:00
Reload images when downloading or removing a mod
This commit is contained in:
parent
92b71102e1
commit
0d942ac175
@ -191,7 +191,7 @@ 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.reloadImages() // This needs to come after the settings, since we may have default visual mods
|
||||||
val imageGetterTilesets = ImageGetter.getAvailableTilesets()
|
val imageGetterTilesets = ImageGetter.getAvailableTilesets()
|
||||||
val availableTileSets = TileSetCache.getAvailableTilesets(imageGetterTilesets)
|
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
|
||||||
|
@ -62,7 +62,7 @@ object ImageGetter {
|
|||||||
atlases["game"] = atlas
|
atlases["game"] = atlas
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun reloadImages() = setNewRuleset(ruleset)
|
||||||
|
|
||||||
/** Required every time the ruleset changes, in order to load mod-specific images */
|
/** Required every time the ruleset changes, in order to load mod-specific images */
|
||||||
fun setNewRuleset(ruleset: Ruleset) {
|
fun setNewRuleset(ruleset: Ruleset) {
|
||||||
|
@ -447,8 +447,7 @@ class ModManagementScreen private constructor(
|
|||||||
launchOnGLThread {
|
launchOnGLThread {
|
||||||
val repoName = modFolder.name() // repo.name still has the replaced "-"'s
|
val repoName = modFolder.name() // repo.name still has the replaced "-"'s
|
||||||
ToastPopup("[$repoName] Downloaded!", this@ModManagementScreen)
|
ToastPopup("[$repoName] Downloaded!", this@ModManagementScreen)
|
||||||
RulesetCache.loadRulesets()
|
reloadCachesAfterModChange()
|
||||||
TileSetCache.loadTileSetConfigs()
|
|
||||||
UncivGame.Current.translations.tryReadTranslationForCurrentLanguage()
|
UncivGame.Current.translations.tryReadTranslationForCurrentLanguage()
|
||||||
RulesetCache[repoName]?.let {
|
RulesetCache[repoName]?.let {
|
||||||
installedModInfo[repoName] = ModUIData(it, false)
|
installedModInfo[repoName] = ModUIData(it, false)
|
||||||
@ -513,7 +512,7 @@ class ModManagementScreen private constructor(
|
|||||||
else
|
else
|
||||||
game.settings.visualMods.remove(mod.name)
|
game.settings.visualMods.remove(mod.name)
|
||||||
game.settings.save()
|
game.settings.save()
|
||||||
ImageGetter.setNewRuleset(ImageGetter.ruleset)
|
ImageGetter.reloadImages()
|
||||||
refreshInstalledModActions(mod)
|
refreshInstalledModActions(mod)
|
||||||
if (optionsManager.sortInstalled == SortType.Status)
|
if (optionsManager.sortInstalled == SortType.Status)
|
||||||
refreshInstalledModTable()
|
refreshInstalledModTable()
|
||||||
@ -583,12 +582,17 @@ class ModManagementScreen private constructor(
|
|||||||
/** Delete a Mod, refresh ruleset cache and update installed mod table */
|
/** Delete a Mod, refresh ruleset cache and update installed mod table */
|
||||||
private fun deleteMod(mod: Ruleset) {
|
private fun deleteMod(mod: Ruleset) {
|
||||||
mod.folderLocation!!.deleteDirectory()
|
mod.folderLocation!!.deleteDirectory()
|
||||||
RulesetCache.loadRulesets()
|
reloadCachesAfterModChange()
|
||||||
TileSetCache.loadTileSetConfigs()
|
|
||||||
installedModInfo.remove(mod.name)
|
installedModInfo.remove(mod.name)
|
||||||
refreshInstalledModTable()
|
refreshInstalledModTable()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun reloadCachesAfterModChange(){
|
||||||
|
RulesetCache.loadRulesets()
|
||||||
|
ImageGetter.reloadImages()
|
||||||
|
TileSetCache.loadTileSetConfigs()
|
||||||
|
}
|
||||||
|
|
||||||
internal fun refreshOnlineModTable() {
|
internal fun refreshOnlineModTable() {
|
||||||
if (runningSearchJob != null) {
|
if (runningSearchJob != null) {
|
||||||
ToastPopup("Sorting and filtering needs to wait until the online query finishes", this)
|
ToastPopup("Sorting and filtering needs to wait until the online query finishes", this)
|
||||||
|
@ -72,7 +72,7 @@ object FasterUIDevelopment {
|
|||||||
UncivGame.Current.files = UncivFiles(Gdx.files)
|
UncivGame.Current.files = UncivFiles(Gdx.files)
|
||||||
game.settings = UncivGame.Current.files.getGeneralSettings()
|
game.settings = UncivGame.Current.files.getGeneralSettings()
|
||||||
ImageGetter.resetAtlases()
|
ImageGetter.resetAtlases()
|
||||||
ImageGetter.setNewRuleset(ImageGetter.ruleset)
|
ImageGetter.reloadImages()
|
||||||
BaseScreen.setSkin()
|
BaseScreen.setSkin()
|
||||||
game.pushScreen(UIDevScreen())
|
game.pushScreen(UIDevScreen())
|
||||||
Gdx.graphics.requestRendering()
|
Gdx.graphics.requestRendering()
|
||||||
|
Loading…
Reference in New Issue
Block a user