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.Gdx;
|
||||||
import com.badlogic.gdx.Input.Keys;
|
import com.badlogic.gdx.Input.Keys;
|
||||||
import com.badlogic.gdx.utils.Align;
|
import com.badlogic.gdx.utils.Align;
|
||||||
|
import io.anuke.mindustry.core.GameState.State;
|
||||||
import io.anuke.mindustry.game.EventType.ResizeEvent;
|
import io.anuke.mindustry.game.EventType.ResizeEvent;
|
||||||
import io.anuke.mindustry.graphics.Palette;
|
import io.anuke.mindustry.graphics.Palette;
|
||||||
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.ucore.core.Core;
|
import io.anuke.ucore.core.Core;
|
||||||
import io.anuke.ucore.core.Events;
|
import io.anuke.ucore.core.Events;
|
||||||
import io.anuke.ucore.scene.ui.Dialog;
|
import io.anuke.ucore.scene.ui.Dialog;
|
||||||
import io.anuke.ucore.scene.ui.ScrollPane;
|
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{
|
public class FloatingDialog extends Dialog{
|
||||||
|
private boolean wasPaused;
|
||||||
|
protected boolean shouldPause;
|
||||||
|
|
||||||
public FloatingDialog(String title){
|
public FloatingDialog(String title){
|
||||||
super(title, "dialog");
|
super(title, "dialog");
|
||||||
@@ -20,6 +27,24 @@ public class FloatingDialog extends Dialog{
|
|||||||
getTitleTable().addImage("white", Palette.accent)
|
getTitleTable().addImage("white", Palette.accent)
|
||||||
.growX().height(3f).pad(4f);
|
.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};
|
boolean[] done = {false};
|
||||||
|
|
||||||
shown(() -> Gdx.app.postRunnable(() ->
|
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.Bundles;
|
||||||
import io.anuke.ucore.util.Mathf;
|
import io.anuke.ucore.util.Mathf;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
|
|
||||||
public class SettingsMenuDialog extends SettingsDialog{
|
public class SettingsMenuDialog extends SettingsDialog{
|
||||||
@@ -162,7 +165,14 @@ public class SettingsMenuDialog extends SettingsDialog{
|
|||||||
dialog.content().row();
|
dialog.content().row();
|
||||||
dialog.content().addButton("$text.settings.clearall", "clear", () -> {
|
dialog.content().addButton("$text.settings.clearall", "clear", () -> {
|
||||||
ui.showConfirm("$text.confirm", "$text.settings.clearall.confirm", () -> {
|
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().clear();
|
||||||
|
Settings.prefs().put(map);
|
||||||
Settings.save();
|
Settings.save();
|
||||||
|
|
||||||
if(!gwt){
|
if(!gwt){
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ public class UnlocksDialog extends FloatingDialog{
|
|||||||
super("$text.unlocks");
|
super("$text.unlocks");
|
||||||
|
|
||||||
addCloseButton();
|
addCloseButton();
|
||||||
|
shouldPause = true;
|
||||||
shown(this::rebuild);
|
shown(this::rebuild);
|
||||||
onResize(this::rebuild);
|
onResize(this::rebuild);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,13 +90,13 @@ public class HudFragment extends Fragment{
|
|||||||
ui.chatfrag.toggle();
|
ui.chatfrag.toggle();
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
ui.settings.show();
|
ui.unlocks.show();
|
||||||
}
|
}
|
||||||
}).update(i -> {
|
}).update(i -> {
|
||||||
if(Net.active() && mobile){
|
if(Net.active() && mobile){
|
||||||
i.getStyle().imageUp = Core.skin.getDrawable("icon-chat");
|
i.getStyle().imageUp = Core.skin.getDrawable("icon-chat");
|
||||||
}else{
|
}else{
|
||||||
i.getStyle().imageUp = Core.skin.getDrawable("icon-settings");
|
i.getStyle().imageUp = Core.skin.getDrawable("icon-unlocks");
|
||||||
}
|
}
|
||||||
}).get();
|
}).get();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user