Fixed game data clearing

This commit is contained in:
Anuken
2018-09-05 13:00:15 -04:00
parent 9c36026991
commit 484721fece
6 changed files with 32 additions and 12 deletions

View File

@@ -76,6 +76,8 @@ public class Vars{
public static boolean android;
//shorthand for whether or not this is running on GWT
public static boolean gwt;
//main data directory
public static FileHandle dataDirectory;
//directory for user-created map data
public static FileHandle customMapDirectory;
//save file directory
@@ -181,8 +183,9 @@ public class Vars{
gwt = Gdx.app.getType() == ApplicationType.WebGL;
if(!gwt){
customMapDirectory = OS.getAppDataDirectory("Mindustry").child("maps/");
saveDirectory = OS.getAppDataDirectory("Mindustry").child("saves/");
dataDirectory = OS.getAppDataDirectory("Mindustry");
customMapDirectory = dataDirectory.child("maps/");
saveDirectory = dataDirectory.child("saves/");
}
fontScale = Math.max(Unit.dp.scl(1f) / 2f, 0.5f);

View File

@@ -294,6 +294,7 @@ public class UI extends SceneModule{
FloatingDialog dialog = new FloatingDialog(title);
dialog.content().add(text).width(400f).wrap().pad(4f).get().setAlignment(Align.center, Align.center);
dialog.buttons().defaults().size(200f, 54f).pad(2f);
dialog.setFillParent(false);
dialog.buttons().addButton("$text.cancel", dialog::hide);
dialog.buttons().addButton("$text.ok", () -> {
dialog.hide();

View File

@@ -112,6 +112,11 @@ public class Sectors{
}
public void load(){
for(Sector sector : grid.values()){
sector.texture.dispose();
}
grid.clear();
Array<Sector> out = Settings.getJson("sectors", Array.class);
for(Sector sector : out){

View File

@@ -31,6 +31,7 @@ public class SectorsDialog extends FloatingDialog{
}
void setup(){
selected = null;
content().clear();
buttons().clear();

View File

@@ -2,10 +2,10 @@ package io.anuke.mindustry.ui.dialogs;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Align;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.mindustry.graphics.Palette;
import io.anuke.mindustry.net.Net;
import io.anuke.ucore.core.Core;
@@ -141,29 +141,38 @@ public class SettingsMenuDialog extends SettingsDialog{
table.addButton("$text.settings.cleardata", () -> {
FloatingDialog dialog = new FloatingDialog("$text.settings.cleardata");
dialog.setFillParent(false);
dialog.content().defaults().size(230f, 50f).pad(3);
dialog.content().defaults().size(230f, 60f).pad(3);
dialog.addCloseButton();
dialog.content().addButton("$text.settings.clearsectors", () -> {
dialog.content().addButton("$text.settings.clearsectors", "clear", () -> {
ui.showConfirm("$text.confirm", "$text.settings.clear.confirm", () -> {
Settings.putString("sectors", "{}");
Settings.save();
world.sectors().load();
dialog.hide();
});
});
dialog.content().row();
dialog.content().addButton("$text.settings.clearunlocks", () -> {
dialog.content().addButton("$text.settings.clearunlocks", "clear", () -> {
ui.showConfirm("$text.confirm", "$text.settings.clear.confirm", () -> {
Settings.putString("unlocks", "{}");
Settings.save();
dialog.hide();
});
});
dialog.content().row();
dialog.content().addButton("$text.settings.clearall", () -> {
ui.showConfirm("$text.confirm", "$text.settings.clear.confirm", () -> {
for(SaveSlot slot : control.getSaves().getSaveSlots()){
slot.delete();
}
dialog.content().addButton("$text.settings.clearall", "clear", () -> {
ui.showConfirm("$text.confirm", "$text.settings.clearall.confirm", () -> {
Settings.prefs().clear();
Settings.save();
if(!gwt){
Settings.prefs().clear();
for(FileHandle file : dataDirectory.list()){
file.deleteDirectory();
}
}
Gdx.app.exit();
});
});
dialog.content().row();