mirror of
https://github.com/yairm210/Unciv.git
synced 2025-03-09 20:29:50 +07:00
Merged "save scenario map" and "save map" to the same button - the buttons in the map editor screen are much more managable now
This commit is contained in:
parent
795599207f
commit
81f19c0d12
@ -35,7 +35,6 @@ class MapEditorMenuPopup(var mapEditorScreen: MapEditorScreen): Popup(mapEditorS
|
||||
addUploadMapButton()
|
||||
if (UncivGame.Current.settings.extendedMapEditor) {
|
||||
addScenarioButton()
|
||||
addSaveScenarioButton()
|
||||
}
|
||||
addExitMapEditorButton()
|
||||
addCloseOptionsButton()
|
||||
@ -78,9 +77,18 @@ class MapEditorMenuPopup(var mapEditorScreen: MapEditorScreen): Popup(mapEditorS
|
||||
saveMapButton.onClick {
|
||||
mapEditorScreen.tileMap.mapParameters.name = mapEditorScreen.mapName
|
||||
mapEditorScreen.tileMap.mapParameters.type = MapType.custom
|
||||
thread(name = "SaveMap") {
|
||||
thread(name = "SaveMap") { // this works for both scenarios and non-scenarios
|
||||
try {
|
||||
MapSaver.saveMap(mapEditorScreen.mapName, mapEditorScreen.tileMap)
|
||||
if(mapEditorScreen.hasScenario()) {
|
||||
mapEditorScreen.tileMap.mapParameters.type = MapType.scenarioMap
|
||||
mapEditorScreen.scenario = Scenario(mapEditorScreen.tileMap, mapEditorScreen.gameSetupInfo.gameParameters)
|
||||
mapEditorScreen.scenario!!.gameParameters.godMode = true // so we can edit this scenario when loading from the map
|
||||
mapEditorScreen.scenarioName = mapNameEditor.text
|
||||
MapSaver.saveScenario(mapNameEditor.text, mapEditorScreen.scenario!!)
|
||||
}
|
||||
else {
|
||||
MapSaver.saveMap(mapEditorScreen.mapName, mapEditorScreen.tileMap)
|
||||
}
|
||||
close()
|
||||
Gdx.app.postRunnable {
|
||||
ResponsePopup("Map saved", mapEditorScreen) // todo - add this text to translations
|
||||
@ -171,41 +179,6 @@ class MapEditorMenuPopup(var mapEditorScreen: MapEditorScreen): Popup(mapEditorS
|
||||
}
|
||||
}
|
||||
|
||||
private fun Popup.addSaveScenarioButton() {
|
||||
val saveScenarioButton = "Save scenario map".toTextButton()
|
||||
add(saveScenarioButton).row()
|
||||
saveScenarioButton.onClick {
|
||||
thread(name = "SaveScenarioMap") {
|
||||
try {
|
||||
mapEditorScreen.tileMap.mapParameters.type = MapType.scenarioMap
|
||||
mapEditorScreen.scenario = Scenario(mapEditorScreen.tileMap, mapEditorScreen.gameSetupInfo.gameParameters)
|
||||
mapEditorScreen.scenario!!.gameParameters.godMode = true // so we can edit this scenario when loading from the map
|
||||
mapEditorScreen.scenarioName = mapNameEditor.text
|
||||
MapSaver.saveScenario(mapNameEditor.text, mapEditorScreen.scenario!!)
|
||||
|
||||
close()
|
||||
Gdx.app.postRunnable {
|
||||
ResponsePopup("Scenario Map saved", mapEditorScreen) // todo - add this text to translations
|
||||
}
|
||||
} catch (ex: Exception) {
|
||||
ex.printStackTrace()
|
||||
Gdx.app.postRunnable {
|
||||
val cantLoadGamePopup = Popup(mapEditorScreen)
|
||||
cantLoadGamePopup.addGoodSizedLabel("It looks like your scenario can't be saved!").row()
|
||||
cantLoadGamePopup.addCloseButton()
|
||||
cantLoadGamePopup.open(force = true)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
saveScenarioButton.isEnabled = mapNameEditor.text.isNotEmpty() && mapEditorScreen.hasScenario()
|
||||
mapNameEditor.addListener {
|
||||
mapEditorScreen.scenarioName = mapNameEditor.text
|
||||
saveScenarioButton.isEnabled = mapNameEditor.text.isNotEmpty() && mapEditorScreen.hasScenario()
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun Popup.addExitMapEditorButton() {
|
||||
val exitMapEditorButton = "Exit map editor".toTextButton()
|
||||
|
Loading…
Reference in New Issue
Block a user