diff --git a/core/src/mindustry/editor/MapProcessorsDialog.java b/core/src/mindustry/editor/MapProcessorsDialog.java index dd0f73d3f7..8867c2df13 100644 --- a/core/src/mindustry/editor/MapProcessorsDialog.java +++ b/core/src/mindustry/editor/MapProcessorsDialog.java @@ -19,7 +19,7 @@ import mindustry.world.blocks.logic.LogicBlock.*; import static mindustry.Vars.*; public class MapProcessorsDialog extends BaseDialog{ - private IconSelectDialog iconSelect = new IconSelectDialog(); + private IconSelectDialog iconSelect = new IconSelectDialog(true); private TextField search; private Seq processors = new Seq<>(); private Table list; diff --git a/core/src/mindustry/logic/LogicDialog.java b/core/src/mindustry/logic/LogicDialog.java index 1dd6907e98..ef3dfb4a53 100644 --- a/core/src/mindustry/logic/LogicDialog.java +++ b/core/src/mindustry/logic/LogicDialog.java @@ -155,13 +155,13 @@ public class LogicDialog extends BaseDialog{ buttons.button("@variables", Icon.menu, () -> { BaseDialog dialog = new BaseDialog("@variables"); dialog.hidden(() -> { - if(!wasPaused && !net.active()){ + if(!wasPaused && !net.active() && !state.isMenu()){ state.set(State.paused); } }); dialog.shown(() -> { - if(!wasPaused && !net.active()){ + if(!wasPaused && !net.active() && !state.isMenu()){ state.set(State.playing); } }); @@ -220,7 +220,7 @@ public class LogicDialog extends BaseDialog{ dialog.buttons.button("@logic.globals", Icon.list, () -> globalsDialog.show()).size(210f, 64f); dialog.show(); - }).name("variables").disabled(b -> executor == null || executor.vars.length == 0); + }).name("variables").disabled(b -> executor == null || executor.vars.length == 0 || state.isMenu()); buttons.button("@add", Icon.add, () -> { showAddDialog(); diff --git a/core/src/mindustry/ui/dialogs/IconSelectDialog.java b/core/src/mindustry/ui/dialogs/IconSelectDialog.java index 153d25761d..33766e6bfb 100644 --- a/core/src/mindustry/ui/dialogs/IconSelectDialog.java +++ b/core/src/mindustry/ui/dialogs/IconSelectDialog.java @@ -15,8 +15,13 @@ import static mindustry.Vars.*; public class IconSelectDialog extends Dialog{ private Intc consumer = i -> Log.info("you have mere seconds"); + private boolean allowLocked; public IconSelectDialog(){ + this(true); + } + + public IconSelectDialog(boolean allowLocked){ closeOnBack(); setFillParent(true); @@ -52,7 +57,7 @@ public class IconSelectDialog extends Dialog{ i = 0; for(UnlockableContent u : content.getBy(ctype).as()){ - if(!u.isHidden() && u.unlocked()){ + if(!u.isHidden() && (allowLocked || u.unlocked())){ t.button(new TextureRegionDrawable(u.uiIcon), Styles.flati, iconMed, () -> { hide(); consumer.get(u.emojiChar());