Fixed rules not saving / Memory usage reduction
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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(){
|
||||
|
||||
@@ -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<Rules> resetter){
|
||||
Log.info("Shown: " + JsonIO.write(rules));
|
||||
this.rules = rules;
|
||||
this.resetter = resetter;
|
||||
show();
|
||||
|
||||
Reference in New Issue
Block a user