Added unlock menu in-game
This commit is contained in:
@@ -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(() ->
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -22,6 +22,7 @@ public class UnlocksDialog extends FloatingDialog{
|
||||
super("$text.unlocks");
|
||||
|
||||
addCloseButton();
|
||||
shouldPause = true;
|
||||
shown(this::rebuild);
|
||||
onResize(this::rebuild);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user