Saves / Paused dialog cleanup / Zone rule save

This commit is contained in:
Anuken
2019-01-16 23:25:43 -05:00
parent 836a4eb892
commit 58e83c11f0
66 changed files with 996 additions and 965 deletions

View File

@@ -1,5 +1,6 @@
package io.anuke.mindustry.ui.dialogs;
import io.anuke.arc.Core;
import io.anuke.arc.collection.ObjectIntMap;
import io.anuke.arc.scene.ui.layout.Table;
import io.anuke.mindustry.Vars;
@@ -39,24 +40,30 @@ public class DeployDialog extends FloatingDialog{
}}, new Table(){{
for(Zone zone : Vars.content.zones()){
if(data.isUnlocked(zone)){
table(t -> {
t.addButton(zone.localizedName(), () -> {
data.removeItems(zone.deployCost);
hide();
world.playZone(zone);
}).size(150f)/*.disabled(b -> !data.hasItems(zone.deployCost))*/;
t.row();
t.table(req -> {
req.left();
for(ItemStack stack : zone.deployCost){
req.addImage(stack.item.region).size(8*3);
req.add(stack.amount + "").left();
}
}).pad(3).growX();
}).pad(3);
if(control.saves.getZoneSlot() == null){
for(Zone zone : Vars.content.zones()){
if(data.isUnlocked(zone)){
table(t -> {
t.addButton(zone.localizedName(), () -> {
data.removeItems(zone.deployCost);
hide();
world.playZone(zone);
}).size(150f).disabled(b -> !data.hasItems(zone.deployCost));
t.row();
t.table(req -> {
req.left();
for(ItemStack stack : zone.deployCost){
req.addImage(stack.item.region).size(8 * 3);
req.add(stack.amount + "").left();
}
}).pad(3).growX();
}).pad(3);
}
}
}else{
addButton(Core.bundle.format("resume", control.saves.getZoneSlot().getZone().localizedName()), () -> control.saves.getZoneSlot().load())
.size(200f);
}
}}).grow();
}

View File

@@ -116,8 +116,6 @@ public class LoadDialog extends FloatingDialog{
button.row();
button.add(Core.bundle.format("save.wave", color + slot.getWave()));
button.row();
button.add(Core.bundle.format("save.difficulty", color + slot.getDifficulty()));
button.row();
button.label(() -> Core.bundle.format("save.autosave", color + Core.bundle.get(slot.isAutosave() ? "on" : "off")));
button.row();
button.label(() -> Core.bundle.format("save.playtime", color + slot.getPlayTime()));

View File

@@ -2,8 +2,6 @@ package io.anuke.mindustry.ui.dialogs;
import io.anuke.arc.Core;
import io.anuke.arc.input.KeyCode;
import io.anuke.arc.scene.style.Drawable;
import io.anuke.arc.scene.ui.layout.Table;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.net.Net;
@@ -12,12 +10,10 @@ import static io.anuke.mindustry.Vars.*;
public class PausedDialog extends FloatingDialog{
private SaveDialog save = new SaveDialog();
private LoadDialog load = new LoadDialog();
private Table missionTable;
public PausedDialog(){
super("$menu");
shouldPause = true;
setup();
shown(this::rebuild);
@@ -29,20 +25,14 @@ public class PausedDialog extends FloatingDialog{
}
void rebuild(){
missionTable.clear();
missionTable.background((Drawable) null);
}
cont.clear();
void setup(){
update(() -> {
if(state.is(State.menu) && isShown()){
hide();
}
});
cont.table(t -> missionTable = t).colspan(mobile ? 3 : 2);
cont.row();
if(!mobile){
float dw = 210f;
cont.defaults().width(dw).height(50).pad(5f);
@@ -53,9 +43,11 @@ public class PausedDialog extends FloatingDialog{
cont.addButton("$unlocks", ui.unlocks::show);
cont.addButton("$settings", ui.settings::show);
cont.row();
cont.addButton("$savegame", save::show);
cont.addButton("$loadgame", load::show).disabled(b -> Net.active());
if(!world.isZone()){
cont.row();
cont.addButton("$savegame", save::show);
cont.addButton("$loadgame", load::show).disabled(b -> Net.active());
}
cont.row();
@@ -77,11 +69,15 @@ public class PausedDialog extends FloatingDialog{
cont.addRowImageTextButton("$back", "icon-play-2", isize, this::hide);
cont.addRowImageTextButton("$settings", "icon-tools", isize, ui.settings::show);
cont.addRowImageTextButton("$save", "icon-save", isize, save::show);
cont.row();
if(!world.isZone()){
cont.addRowImageTextButton("$save", "icon-save", isize, save::show);
cont.row();
cont.addRowImageTextButton("$load", "icon-load", isize, load::show).disabled(b -> Net.active());
}
cont.addRowImageTextButton("$load", "icon-load", isize, load::show).disabled(b -> Net.active());
cont.addRowImageTextButton("$hostserver.mobile", "icon-host", isize, ui.host::show).disabled(b -> Net.active());
cont.addRowImageTextButton("$quit", "icon-quit", isize, () -> {
ui.showConfirm("$confirm", "$quit.confirm", () -> {