diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index 9c8fdaa87d..00cec9c417 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -21,6 +21,7 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.game.*; +import io.anuke.mindustry.io.JsonIO; import io.anuke.mindustry.io.MapIO; import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.ui.dialogs.FloatingDialog; @@ -254,6 +255,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ private void save(){ String name = editor.getTags().get("name", "").trim(); + editor.getTags().put("rules", JsonIO.write(state.rules)); if(name.isEmpty()){ infoDialog.show(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java index d243e3220c..6ac0fab053 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java @@ -7,9 +7,7 @@ import io.anuke.arc.graphics.Color; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.layout.Cell; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.OS; -import io.anuke.arc.util.Strings; -import io.anuke.arc.util.Time; +import io.anuke.arc.util.*; import io.anuke.mindustry.graphics.Pal; import io.anuke.mindustry.io.Contributors; import io.anuke.mindustry.io.Contributors.Contributor; @@ -27,7 +25,10 @@ public class AboutDialog extends FloatingDialog{ super("$about.button"); if(!ios){ - Contributors.getContributors(out -> contributors = out, Throwable::printStackTrace); + shown(() -> Contributors.getContributors(out -> { + contributors = out; + Core.app.post(this::setup); + }, Throwable::printStackTrace)); } shown(this::setup); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java index 4087992daa..9bea180562 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java @@ -24,15 +24,17 @@ public class ChangelogDialog extends FloatingDialog{ cont.add("$changelog.loading"); - if(!ios && !OS.isMac){ - Changelogs.getChangelog(result -> { - versions = result; - Core.app.post(this::setup); - }, t -> { - Log.err(t); - Core.app.post(this::setup); - }); - } + shown(() -> { + if(!ios && !OS.isMac){ + Changelogs.getChangelog(result -> { + versions = result; + Core.app.post(this::setup); + }, t -> { + Log.err(t); + Core.app.post(this::setup); + }); + } + }); } void setup(){ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/CustomRulesDialog.java index 062b85b567..888ba9a96e 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/CustomRulesDialog.java @@ -3,10 +3,12 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.function.*; import io.anuke.arc.graphics.Color; import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Log; import io.anuke.arc.util.Strings; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.game.Rules; import io.anuke.mindustry.graphics.Pal; +import io.anuke.mindustry.io.JsonIO; import static io.anuke.mindustry.Vars.tilesize; @@ -24,6 +26,7 @@ public class CustomRulesDialog extends FloatingDialog{ } public void show(Rules rules, Supplier resetter){ + Log.info("Shown: " + JsonIO.write(rules)); this.rules = rules; this.resetter = resetter; show();