mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-29 06:51:30 -04:00
Solved ANRs when loading big maps in editor screen
This commit is contained in:
parent
26c817a4a1
commit
908cae1881
@ -14,6 +14,7 @@ import com.unciv.models.translations.tr
|
||||
import com.unciv.ui.pickerscreens.PickerScreen
|
||||
import com.unciv.ui.saves.Gzip
|
||||
import com.unciv.ui.utils.*
|
||||
import kotlin.concurrent.thread
|
||||
import com.unciv.ui.utils.AutoScrollPane as ScrollPane
|
||||
|
||||
class LoadMapScreen(previousMap: TileMap?) : PickerScreen(){
|
||||
@ -36,10 +37,21 @@ class LoadMapScreen(previousMap: TileMap?) : PickerScreen(){
|
||||
|
||||
rightSideButton.setText("Load map".tr())
|
||||
rightSideButton.onClick {
|
||||
val mapEditorScreen = if (scenarioMap) MapEditorScreen(MapSaver.loadScenario(chosenMap!!), chosenMap!!.name())
|
||||
else MapEditorScreen(chosenMap!!)
|
||||
UncivGame.Current.setScreen(mapEditorScreen)
|
||||
dispose()
|
||||
thread {
|
||||
if (scenarioMap) {
|
||||
val scenario = MapSaver.loadScenario(chosenMap!!)
|
||||
Gdx.app.postRunnable {
|
||||
UncivGame.Current.setScreen(MapEditorScreen(scenario, chosenMap!!.name()))
|
||||
dispose()
|
||||
}
|
||||
} else {
|
||||
val map = MapSaver.loadMap(chosenMap!!)
|
||||
Gdx.app.postRunnable {
|
||||
UncivGame.Current.setScreen(MapEditorScreen(map))
|
||||
dispose()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
topTable.add(ScrollPane(mapsTable)).height(stage.height * 2 / 3)
|
||||
|
@ -51,7 +51,7 @@ class MapEditorScreen(): CameraStageBaseScreen() {
|
||||
initialize()
|
||||
}
|
||||
|
||||
constructor(mapFile:FileHandle):this(MapSaver.loadMap(mapFile))
|
||||
constructor(mapFile:FileHandle):this()
|
||||
|
||||
constructor(map: TileMap) : this() {
|
||||
tileMap = map
|
||||
|
Loading…
x
Reference in New Issue
Block a user