fixed next turn button by updating it on main thread

This commit is contained in:
martin 2019-05-13 13:09:17 +02:00 committed by Yair Morgenstern
parent eaa0a9dbad
commit 12f1b41784

View File

@ -268,17 +268,25 @@ class WorldScreen : CameraStageBaseScreen() {
// So what we do is we clone all the game data and serialize the clone. // So what we do is we clone all the game data and serialize the clone.
if(gameInfo.turns % game.settings.turnsBetweenAutosaves == 0) if(gameInfo.turns % game.settings.turnsBetweenAutosaves == 0)
GameSaver().saveGame(gameInfoClone, "Autosave") GameSaver().saveGame(gameInfoClone, "Autosave")
// do this on main thread
Gdx.app.postRunnable {
nextTurnButton.enable() // only enable the user to next turn once we've saved the current one nextTurnButton.enable() // only enable the user to next turn once we've saved the current one
updateNextTurnButton() updateNextTurnButton()
} }
}
// If we put this BEFORE the save game, then we try to save the game... // If we put this BEFORE the save game, then we try to save the game...
// but the main thread does other stuff, including showing tutorials which guess what? Changes the game data // but the main thread does other stuff, including showing tutorials which guess what? Changes the game data
// BOOM! Exception! // BOOM! Exception!
// That's why this needs to be after the game is saved. // That's why this needs to be after the game is saved.
shouldUpdate=true shouldUpdate=true
// do this on main thread
Gdx.app.postRunnable {
updateNextTurnButton() updateNextTurnButton()
}
Gdx.input.inputProcessor = stage Gdx.input.inputProcessor = stage
} }
} }