Game no longer crashes on new game screen when no scenarios are available

This commit is contained in:
Yair Morgenstern 2020-08-15 21:58:02 +03:00
parent 324f4d7a15
commit be216d8e6b

View file

@ -80,16 +80,19 @@ class MapOptionsTable(val newGameScreen: NewGameScreen): Table() {
override fun toString() = fileHandle.name()
}
val scenarioFiles = getScenarioFiles()
val scenarioSelectBox = SelectBox<FileHandleWrapper>(CameraStageBaseScreen.skin)
for (savedGame in getScenarioFiles()) {
scenarioSelectBox.items.add(FileHandleWrapper(savedGame))
if (scenarioFiles.any()) {
for (savedGame in getScenarioFiles()) {
scenarioSelectBox.items.add(FileHandleWrapper(savedGame))
}
scenarioSelectBox.items = scenarioSelectBox.items // it doesn't register them until you do this.
scenarioSelectBox.selected = scenarioSelectBox.items.first()
// needs to be after the item change, so it doesn't activate before we choose the Scenario maptype
scenarioSelectBox.onChange { selectSavedGameAsScenario(scenarioSelectBox.selected.fileHandle) }
scenarioOptionsTable.add("{Scenario file}:".toLabel()).left()
scenarioOptionsTable.add(scenarioSelectBox)
}
scenarioSelectBox.items = scenarioSelectBox.items // it doesn't register them until you do this.
scenarioSelectBox.selected = scenarioSelectBox.items.first()
// needs to be after the item change, so it doesn't activate before we choose the Scenario maptype
scenarioSelectBox.onChange { selectSavedGameAsScenario(scenarioSelectBox.selected.fileHandle) }
scenarioOptionsTable.add("{Scenario file}:".toLabel()).left()
scenarioOptionsTable.add(scenarioSelectBox)
fun updateOnMapTypeChange() {
mapTypeSpecificTable.clear()