Added unlock menu in-game

This commit is contained in:
Anuken
2018-09-05 13:22:04 -04:00
parent 484721fece
commit be3147465d
4 changed files with 38 additions and 2 deletions

View File

@@ -3,14 +3,21 @@ package io.anuke.mindustry.ui.dialogs;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.utils.Align;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.game.EventType.ResizeEvent;
import io.anuke.mindustry.graphics.Palette;
import io.anuke.mindustry.net.Net;
import io.anuke.ucore.core.Core;
import io.anuke.ucore.core.Events;
import io.anuke.ucore.scene.ui.Dialog;
import io.anuke.ucore.scene.ui.ScrollPane;
import static io.anuke.mindustry.Vars.state;
import static io.anuke.mindustry.Vars.ui;
public class FloatingDialog extends Dialog{
private boolean wasPaused;
protected boolean shouldPause;
public FloatingDialog(String title){
super(title, "dialog");
@@ -20,6 +27,24 @@ public class FloatingDialog extends Dialog{
getTitleTable().addImage("white", Palette.accent)
.growX().height(3f).pad(4f);
hidden(() -> {
if(shouldPause && !state.is(State.menu)){
if(!wasPaused || Net.active())
state.set(State.playing);
}
});
shown(() -> {
if(shouldPause && !state.is(State.menu)){
wasPaused = state.is(State.paused);
if(ui.paused.getScene() != null){
wasPaused = ui.paused.wasPaused;
}
if(!Net.active()) state.set(State.paused);
ui.paused.hide();
}
});
boolean[] done = {false};
shown(() -> Gdx.app.postRunnable(() ->

View File

@@ -23,6 +23,9 @@ import io.anuke.ucore.scene.ui.layout.Table;
import io.anuke.ucore.util.Bundles;
import io.anuke.ucore.util.Mathf;
import java.util.HashMap;
import java.util.Map;
import static io.anuke.mindustry.Vars.*;
public class SettingsMenuDialog extends SettingsDialog{
@@ -162,7 +165,14 @@ public class SettingsMenuDialog extends SettingsDialog{
dialog.content().row();
dialog.content().addButton("$text.settings.clearall", "clear", () -> {
ui.showConfirm("$text.confirm", "$text.settings.clearall.confirm", () -> {
Map<String, Object> map = new HashMap<>();
for(String value : Settings.prefs().get().keySet()){
if(value.contains("usid") || value.contains("uuid")){
map.put(value, Settings.prefs().getString(value));
}
}
Settings.prefs().clear();
Settings.prefs().put(map);
Settings.save();
if(!gwt){

View File

@@ -22,6 +22,7 @@ public class UnlocksDialog extends FloatingDialog{
super("$text.unlocks");
addCloseButton();
shouldPause = true;
shown(this::rebuild);
onResize(this::rebuild);
}

View File

@@ -90,13 +90,13 @@ public class HudFragment extends Fragment{
ui.chatfrag.toggle();
}
}else{
ui.settings.show();
ui.unlocks.show();
}
}).update(i -> {
if(Net.active() && mobile){
i.getStyle().imageUp = Core.skin.getDrawable("icon-chat");
}else{
i.getStyle().imageUp = Core.skin.getDrawable("icon-settings");
i.getStyle().imageUp = Core.skin.getDrawable("icon-unlocks");
}
}).get();
});