mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-22 13:49:54 +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:
@ -35,7 +35,6 @@ class MapEditorMenuPopup(var mapEditorScreen: MapEditorScreen): Popup(mapEditorS
|
|||||||
addUploadMapButton()
|
addUploadMapButton()
|
||||||
if (UncivGame.Current.settings.extendedMapEditor) {
|
if (UncivGame.Current.settings.extendedMapEditor) {
|
||||||
addScenarioButton()
|
addScenarioButton()
|
||||||
addSaveScenarioButton()
|
|
||||||
}
|
}
|
||||||
addExitMapEditorButton()
|
addExitMapEditorButton()
|
||||||
addCloseOptionsButton()
|
addCloseOptionsButton()
|
||||||
@ -78,9 +77,18 @@ class MapEditorMenuPopup(var mapEditorScreen: MapEditorScreen): Popup(mapEditorS
|
|||||||
saveMapButton.onClick {
|
saveMapButton.onClick {
|
||||||
mapEditorScreen.tileMap.mapParameters.name = mapEditorScreen.mapName
|
mapEditorScreen.tileMap.mapParameters.name = mapEditorScreen.mapName
|
||||||
mapEditorScreen.tileMap.mapParameters.type = MapType.custom
|
mapEditorScreen.tileMap.mapParameters.type = MapType.custom
|
||||||
thread(name = "SaveMap") {
|
thread(name = "SaveMap") { // this works for both scenarios and non-scenarios
|
||||||
try {
|
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()
|
close()
|
||||||
Gdx.app.postRunnable {
|
Gdx.app.postRunnable {
|
||||||
ResponsePopup("Map saved", mapEditorScreen) // todo - add this text to translations
|
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() {
|
private fun Popup.addExitMapEditorButton() {
|
||||||
val exitMapEditorButton = "Exit map editor".toTextButton()
|
val exitMapEditorButton = "Exit map editor".toTextButton()
|
||||||
|
Reference in New Issue
Block a user