Automatic custom game saves

This commit is contained in:
Anuken 2019-08-29 08:53:41 -04:00
parent b5ed309405
commit 641937f952
4 changed files with 9 additions and 0 deletions

View File

@ -525,6 +525,7 @@ setting.mutemusic.name = Mute Music
setting.sfxvol.name = SFX Volume
setting.mutesound.name = Mute Sound
setting.crashreport.name = Send Anonymous Crash Reports
setting.savecreate.name = Auto-Create Saves
setting.chatopacity.name = Chat Opacity
setting.playerchat.name = Display In-Game Chat
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...

View File

@ -26,6 +26,8 @@ import io.anuke.mindustry.world.*;
import io.anuke.mindustry.world.blocks.storage.*;
import java.io.*;
import java.time.*;
import java.time.format.*;
import static io.anuke.arc.Core.*;
import static io.anuke.mindustry.Vars.*;
@ -230,6 +232,9 @@ public class Control implements ApplicationListener, Loadable{
world.loadMap(map, rules);
state.rules = rules;
logic.play();
if(settings.getBool("savecreate")){
control.saves.addSave(map.name() + "-" + DateTimeFormatter.ofPattern("MMM dd h:mm").format(LocalDateTime.now()));
}
});
}

View File

@ -51,6 +51,7 @@ public class LoadDialog extends FloatingDialog{
Time.runTask(2f, () -> Core.scene.setScrollFocus(pane));
Array<SaveSlot> array = control.saves.getSaveSlots();
array.sort((slot, other) -> -Long.compare(slot.getTimestamp(), other.getTimestamp()));
for(SaveSlot slot : array){
if(slot.isHidden()) continue;

View File

@ -139,6 +139,8 @@ public class SettingsMenuDialog extends SettingsDialog{
game.checkPref("crashreport", true);
}
game.checkPref("savecreate", true);
game.pref(new Setting(){
@Override
public void add(SettingsTable table){