mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-01-18 23:32:08 -08:00
the character length default was 12, and unchangeable afaik, so I added an option to change the character length, as well as suggesting a new character length for save file's name. (I actually have no idea if this PR can be delivered correctly, wish me luck.)
61 lines
1.6 KiB
Java
61 lines
1.6 KiB
Java
package io.anuke.mindustry.ui.dialogs;
|
|
|
|
import io.anuke.arc.Core;
|
|
import io.anuke.arc.scene.ui.TextButton;
|
|
import io.anuke.arc.util.Time;
|
|
import io.anuke.mindustry.core.GameState.State;
|
|
import io.anuke.mindustry.game.Saves.SaveSlot;
|
|
|
|
import static io.anuke.mindustry.Vars.*;
|
|
|
|
public class SaveDialog extends LoadDialog{
|
|
|
|
public SaveDialog(){
|
|
super("$savegame");
|
|
|
|
update(() -> {
|
|
if(state.is(State.menu) && isShown()){
|
|
hide();
|
|
}
|
|
});
|
|
}
|
|
|
|
public void addSetup(){
|
|
slots.row();
|
|
slots.addImageTextButton("$save.new", "icon-add", 14 * 3, () ->
|
|
ui.showTextInput("$save", "$save.newslot", 30, "", text -> {
|
|
ui.loadAnd("$saving", () -> {
|
|
control.saves.addSave(text);
|
|
Core.app.post(() -> Core.app.post(this::setup));
|
|
});
|
|
})
|
|
).fillX().margin(10f).minWidth(300f).height(70f).pad(4f).padRight(-4);
|
|
}
|
|
|
|
@Override
|
|
public void modifyButton(TextButton button, SaveSlot slot){
|
|
button.clicked(() -> {
|
|
if(button.childrenPressed()) return;
|
|
|
|
ui.showConfirm("$overwrite", "$save.overwrite", () -> save(slot));
|
|
});
|
|
}
|
|
|
|
void save(SaveSlot slot){
|
|
|
|
ui.loadfrag.show("$saveload");
|
|
|
|
Time.runTask(5f, () -> {
|
|
hide();
|
|
ui.loadfrag.hide();
|
|
try{
|
|
slot.save();
|
|
}catch(Throwable e){
|
|
e.printStackTrace();
|
|
|
|
ui.showError("[accent]" + Core.bundle.get("savefail"));
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|