diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index de97d07b8f..75519d1d08 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -223,6 +223,8 @@ public class Control implements ApplicationListener, Loadable{ logic.reset(); world.loadMap(map, rules); state.rules = rules; + state.rules.zone = null; + state.rules.editor = false; logic.play(); if(settings.getBool("savecreate") && !world.isInvalidMap()){ control.saves.addSave(map.name() + " " + new SimpleDateFormat("MMM dd h:mm", Locale.getDefault()).format(new Date())); diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index 93ea4f243b..cc9dbdf821 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -283,6 +283,8 @@ public class MapEditorDialog extends Dialog implements Disposable{ } public Map save(){ + boolean isEditor = state.rules.editor; + state.rules.editor = false; String name = editor.getTags().get("name", "").trim(); editor.getTags().put("rules", JsonIO.write(state.rules)); editor.getTags().remove("width"); @@ -306,6 +308,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ menu.hide(); saved = true; + state.rules.editor = isEditor; return returned; } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java index c083999b89..279731417e 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java @@ -195,6 +195,7 @@ public class LoadDialog extends FloatingDialog{ try{ net.reset(); slot.load(); + state.rules.editor = false; state.rules.zone = null; state.set(State.playing); }catch(SaveException e){