This commit is contained in:
Anuken
2019-09-06 22:51:35 -04:00
15 changed files with 107 additions and 176 deletions

View File

@@ -9,7 +9,6 @@ import io.anuke.arc.scene.style.*;
import io.anuke.arc.scene.ui.*;
import io.anuke.arc.scene.ui.layout.*;
import io.anuke.arc.util.*;
import io.anuke.mindustry.*;
import io.anuke.mindustry.core.GameState.*;
import io.anuke.mindustry.game.Saves.*;
import io.anuke.mindustry.io.*;
@@ -91,17 +90,17 @@ public class LoadDialog extends FloatingDialog{
t.addImageButton("icon-save", "empty", iconsize, () -> {
if(!ios){
platform.showFileChooser(Core.bundle.get("save.export"), "Mindustry Save", file -> {
platform.showFileChooser(false, saveExtension, file -> {
try{
slot.exportFile(file);
setup();
}catch(IOException e){
ui.showError(Core.bundle.format("save.export.fail", Strings.parseException(e, true)));
}
}, false, FileChooser.saveFiles);
});
}else{
try{
FileHandle file = Core.files.local("save-" + slot.getName() + "." + Vars.saveExtension);
FileHandle file = Core.files.local("save-" + slot.getName() + "." + saveExtension);
slot.exportFile(file);
platform.shareFile(file);
}catch(Exception e){
@@ -172,7 +171,7 @@ public class LoadDialog extends FloatingDialog{
if(ios) return;
slots.addImageTextButton("$save.import", "icon-add", iconsize, () -> {
platform.showFileChooser(Core.bundle.get("save.import"), "Mindustry Save", file -> {
platform.showFileChooser(true, saveExtension, file -> {
if(SaveIO.isSaveValid(file)){
try{
control.saves.importSave(file);
@@ -184,7 +183,7 @@ public class LoadDialog extends FloatingDialog{
}else{
ui.showError("$save.import.invalid");
}
}, true, FileChooser.saveFiles);
});
}).fillX().margin(10f).minWidth(300f).height(70f).pad(4f).padRight(-4);
}

View File

@@ -61,7 +61,7 @@ public class MapsDialog extends FloatingDialog{
if(!ios){
buttons.addImageTextButton("$editor.importmap", "icon-load", iconsize, () -> {
platform.showFileChooser("$editor.importmap", "Map File", file -> {
platform.showFileChooser(true, mapExtension, file -> {
ui.loadAnd(() -> {
maps.tryCatchMapError(() -> {
if(MapIO.isImage(file)){
@@ -69,12 +69,8 @@ public class MapsDialog extends FloatingDialog{
return;
}
Map map;
if(file.extension().equalsIgnoreCase(mapExtension)){
map = MapIO.createMap(file, true);
}else{
map = maps.makeLegacyMap(file);
}
Map map = MapIO.createMap(file, true);
//when you attempt to import a save, it will have no name, so generate one
String name = map.tags.getOr("name", () -> {
@@ -109,7 +105,7 @@ public class MapsDialog extends FloatingDialog{
});
});
}, true, FileChooser.anyMapFiles);
});
}).size(210f, 64f);
}

View File

@@ -102,14 +102,6 @@ public class SettingsMenuDialog extends SettingsDialog{
t.row();
if(android && (Core.files.local("mindustry-maps").exists() || Core.files.local("mindustry-saves").exists())){
t.addButton("$classic.export", style, () -> {
control.checkClassicData();
});
}
t.row();
t.addButton("$data.export", style, () -> {
if(ios){
FileHandle file = Core.files.local("mindustry-data-export.zip");
@@ -120,19 +112,15 @@ public class SettingsMenuDialog extends SettingsDialog{
}
platform.shareFile(file);
}else{
platform.showFileChooser("$data.export", "Zip Files", file -> {
FileHandle ff = file;
if(!ff.extension().equals("zip")){
ff = ff.sibling(ff.nameWithoutExtension() + ".zip");
}
platform.showFileChooser(false, "zip", file -> {
try{
data.exportData(ff);
data.exportData(file);
ui.showInfo("$data.exported");
}catch(Exception e){
e.printStackTrace();
ui.showError(Strings.parseException(e, true));
}
}, false, f -> false);
});
}
});
@@ -140,7 +128,7 @@ public class SettingsMenuDialog extends SettingsDialog{
//iOS doesn't have a file chooser.
//if(!ios){
t.addButton("$data.import", style, () -> ui.showConfirm("$confirm", "$data.import.confirm", () -> platform.showFileChooser("$data.import", "Zip Files", file -> {
t.addButton("$data.import", style, () -> ui.showConfirm("$confirm", "$data.import.confirm", () -> platform.showFileChooser(true, "zip", file -> {
try{
data.importData(file);
Core.app.exit();
@@ -148,9 +136,13 @@ public class SettingsMenuDialog extends SettingsDialog{
ui.showError("$data.invalid");
}catch(Exception e){
e.printStackTrace();
ui.showError(Strings.parseException(e, true));
if(e.getMessage() == null || !e.getMessage().contains("too short")){
ui.showError(Strings.parseException(e, true));
}else{
ui.showError("$data.invalid");
}
}
}, true, f -> f.equalsIgnoreCase("zip"))));
})));
//}
});