From c50c490a632acb5c50f51107170f499925c8a7e7 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Thu, 23 Jul 2020 14:38:36 +0300 Subject: [PATCH] Resolved #2853 - Sped up loading of all saved games --- core/src/com/unciv/logic/GameSaver.kt | 10 +++++----- core/src/com/unciv/ui/MultiplayerScreen.kt | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core/src/com/unciv/logic/GameSaver.kt b/core/src/com/unciv/logic/GameSaver.kt index 60d13d25e0..2d2d36c9c2 100644 --- a/core/src/com/unciv/logic/GameSaver.kt +++ b/core/src/com/unciv/logic/GameSaver.kt @@ -31,10 +31,10 @@ object GameSaver { return externalFile } - fun getSaves(multiplayer: Boolean = false): List { - val localSaves = Gdx.files.local(getSubfolder(multiplayer)).list().map { it.name() } + fun getSaves(multiplayer: Boolean = false): Sequence { + val localSaves = Gdx.files.local(getSubfolder(multiplayer)).list().asSequence().map { it.name() } if (externalFilesDirForAndroid == "" || !Gdx.files.isExternalStorageAvailable) return localSaves - return localSaves + Gdx.files.absolute(externalFilesDirForAndroid + "/${getSubfolder(multiplayer)}").list().map { it.name() } + return localSaves + Gdx.files.absolute(externalFilesDirForAndroid + "/${getSubfolder(multiplayer)}").list().asSequence().map { it.name() } } fun saveGame(game: GameInfo, GameName: String, multiplayer: Boolean = false) { @@ -110,8 +110,8 @@ object GameSaver { val newAutosaveFilename = saveFilesFolder + File.separator + "Autosave-${gameInfo.currentPlayer}-${gameInfo.turns}" getSave("Autosave").copyTo(Gdx.files.local(newAutosaveFilename)) - fun getAutosaves(): List { return getSaves().filter { it.startsWith("Autosave") } } - while(getAutosaves().size>10){ + fun getAutosaves(): Sequence { return getSaves().filter { it.startsWith("Autosave") } } + while(getAutosaves().count()>10){ val saveToDelete = getAutosaves().minBy { getSave(it).lastModified() }!! deleteSave(saveToDelete) } diff --git a/core/src/com/unciv/ui/MultiplayerScreen.kt b/core/src/com/unciv/ui/MultiplayerScreen.kt index afc936ed51..eba7349df2 100644 --- a/core/src/com/unciv/ui/MultiplayerScreen.kt +++ b/core/src/com/unciv/ui/MultiplayerScreen.kt @@ -68,9 +68,9 @@ class MultiplayerScreen(previousScreen: CameraStageBaseScreen) : PickerScreen() topTable.add(mainTable).row() scrollPane.setScrollingDisabled(false, true) - rightSideTable.defaults().uniformX(); - rightSideTable.defaults().fillX(); - rightSideTable.defaults().pad(10.0f); + rightSideTable.defaults().uniformX() + rightSideTable.defaults().fillX() + rightSideTable.defaults().pad(10.0f) // leftTable Setup reloadGameListUI() @@ -186,7 +186,7 @@ class MultiplayerScreen(previousScreen: CameraStageBaseScreen) : PickerScreen() fun reloadGameListUI() { val leftSubTable = Table() val gameSaver = GameSaver - val savedGames: List? + val savedGames: Sequence try { savedGames = gameSaver.getSaves(true)