From ae0f4906ed564f0283eac325f65b7a53b09e98e4 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Wed, 24 Jul 2019 12:11:24 +0300 Subject: [PATCH] Resolved #961 - ordered game saves by last modified and made only the saves scrollable (and not the naming textbox) --- core/src/com/unciv/ui/saves/LoadScreen.kt | 5 +++-- core/src/com/unciv/ui/saves/SaveScreen.kt | 12 ++++-------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/core/src/com/unciv/ui/saves/LoadScreen.kt b/core/src/com/unciv/ui/saves/LoadScreen.kt index 445c461d96..15bd472091 100644 --- a/core/src/com/unciv/ui/saves/LoadScreen.kt +++ b/core/src/com/unciv/ui/saves/LoadScreen.kt @@ -2,6 +2,7 @@ package com.unciv.ui.saves import com.badlogic.gdx.Gdx import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UnCivGame @@ -30,10 +31,9 @@ class LoadScreen : PickerScreen() { deleteSaveButton.disable() - topTable.add(saveTable) val saves = GameSaver().getSaves() rightSideButton.setText("Load game".tr()) - for (save in saves) { + for (save in saves.sortedByDescending { GameSaver().getSave(it).lastModified() }) { val textButton = TextButton(save,skin) textButton.onClick { selectedSave=save @@ -58,6 +58,7 @@ class LoadScreen : PickerScreen() { } saveTable.add(textButton).pad(5f).row() } + topTable.add(ScrollPane(saveTable)).height(stage.height*2/3) val rightSideTable = Table() diff --git a/core/src/com/unciv/ui/saves/SaveScreen.kt b/core/src/com/unciv/ui/saves/SaveScreen.kt index 30d15228c4..6fb9784e64 100644 --- a/core/src/com/unciv/ui/saves/SaveScreen.kt +++ b/core/src/com/unciv/ui/saves/SaveScreen.kt @@ -1,6 +1,7 @@ package com.unciv.ui.saves import com.badlogic.gdx.Gdx +import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.badlogic.gdx.scenes.scene2d.ui.TextField @@ -22,7 +23,7 @@ class SaveScreen : PickerScreen() { val currentSaves = Table() currentSaves.add("Current saves".toLabel()).row() - val saves = GameSaver().getSaves() + val saves = GameSaver().getSaves().sortedByDescending { GameSaver().getSave(it).lastModified() } saves.forEach { val textButton = TextButton(it, skin) textButton.onClick { @@ -31,16 +32,11 @@ class SaveScreen : PickerScreen() { currentSaves.add(textButton).pad(5f).row() } - topTable.add(currentSaves) + topTable.add(ScrollPane(currentSaves)).height(stage.height*2/3) val newSave = Table() - val adjectives = listOf("Prancing","Obese","Junior","Senior","Abstract","Discombobulating","Simple","Awkward","Holy", - "Dangerous","Greasy","Stinky","Purple","Majestic","Incomprehensible","Cardboard","Chocolate","Robot","Ninja", - "Fluffy","Magical","Invisible") - val nouns = listOf("Moose","Pigeon","Weasel","Ferret","Onion","Marshmallow","Crocodile","Unicorn", - "Sandwich","Elephant","Kangaroo","Marmot","Beagle","Dolphin","Fish","Tomato","Duck","Dinosaur") - val defaultSaveName = adjectives.random()+" "+nouns.random() + val defaultSaveName = game.gameInfo.currentPlayer+" - "+game.gameInfo.turns+" turns" textField.text = defaultSaveName newSave.add("Saved game name".toLabel()).row()