Fixed rules not saving / Memory usage reduction

This commit is contained in:
Anuken
2019-05-14 11:48:14 -04:00
parent 4d40af6ac0
commit 0e869f3cb5
4 changed files with 21 additions and 13 deletions

View File

@@ -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();

View File

@@ -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);

View File

@@ -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(){

View File

@@ -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();