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.GameState.State;
|
||||||
import io.anuke.mindustry.core.Platform;
|
import io.anuke.mindustry.core.Platform;
|
||||||
import io.anuke.mindustry.game.*;
|
import io.anuke.mindustry.game.*;
|
||||||
|
import io.anuke.mindustry.io.JsonIO;
|
||||||
import io.anuke.mindustry.io.MapIO;
|
import io.anuke.mindustry.io.MapIO;
|
||||||
import io.anuke.mindustry.maps.Map;
|
import io.anuke.mindustry.maps.Map;
|
||||||
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
|
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
|
||||||
@@ -254,6 +255,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
|
|
||||||
private void save(){
|
private void save(){
|
||||||
String name = editor.getTags().get("name", "").trim();
|
String name = editor.getTags().get("name", "").trim();
|
||||||
|
editor.getTags().put("rules", JsonIO.write(state.rules));
|
||||||
|
|
||||||
if(name.isEmpty()){
|
if(name.isEmpty()){
|
||||||
infoDialog.show();
|
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.ScrollPane;
|
||||||
import io.anuke.arc.scene.ui.layout.Cell;
|
import io.anuke.arc.scene.ui.layout.Cell;
|
||||||
import io.anuke.arc.scene.ui.layout.Table;
|
import io.anuke.arc.scene.ui.layout.Table;
|
||||||
import io.anuke.arc.util.OS;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.arc.util.Strings;
|
|
||||||
import io.anuke.arc.util.Time;
|
|
||||||
import io.anuke.mindustry.graphics.Pal;
|
import io.anuke.mindustry.graphics.Pal;
|
||||||
import io.anuke.mindustry.io.Contributors;
|
import io.anuke.mindustry.io.Contributors;
|
||||||
import io.anuke.mindustry.io.Contributors.Contributor;
|
import io.anuke.mindustry.io.Contributors.Contributor;
|
||||||
@@ -27,7 +25,10 @@ public class AboutDialog extends FloatingDialog{
|
|||||||
super("$about.button");
|
super("$about.button");
|
||||||
|
|
||||||
if(!ios){
|
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);
|
shown(this::setup);
|
||||||
|
|||||||
@@ -24,15 +24,17 @@ public class ChangelogDialog extends FloatingDialog{
|
|||||||
|
|
||||||
cont.add("$changelog.loading");
|
cont.add("$changelog.loading");
|
||||||
|
|
||||||
if(!ios && !OS.isMac){
|
shown(() -> {
|
||||||
Changelogs.getChangelog(result -> {
|
if(!ios && !OS.isMac){
|
||||||
versions = result;
|
Changelogs.getChangelog(result -> {
|
||||||
Core.app.post(this::setup);
|
versions = result;
|
||||||
}, t -> {
|
Core.app.post(this::setup);
|
||||||
Log.err(t);
|
}, t -> {
|
||||||
Core.app.post(this::setup);
|
Log.err(t);
|
||||||
});
|
Core.app.post(this::setup);
|
||||||
}
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void setup(){
|
void setup(){
|
||||||
|
|||||||
@@ -3,10 +3,12 @@ package io.anuke.mindustry.ui.dialogs;
|
|||||||
import io.anuke.arc.function.*;
|
import io.anuke.arc.function.*;
|
||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.graphics.Color;
|
||||||
import io.anuke.arc.scene.ui.layout.Table;
|
import io.anuke.arc.scene.ui.layout.Table;
|
||||||
|
import io.anuke.arc.util.Log;
|
||||||
import io.anuke.arc.util.Strings;
|
import io.anuke.arc.util.Strings;
|
||||||
import io.anuke.mindustry.core.Platform;
|
import io.anuke.mindustry.core.Platform;
|
||||||
import io.anuke.mindustry.game.Rules;
|
import io.anuke.mindustry.game.Rules;
|
||||||
import io.anuke.mindustry.graphics.Pal;
|
import io.anuke.mindustry.graphics.Pal;
|
||||||
|
import io.anuke.mindustry.io.JsonIO;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.tilesize;
|
import static io.anuke.mindustry.Vars.tilesize;
|
||||||
|
|
||||||
@@ -24,6 +26,7 @@ public class CustomRulesDialog extends FloatingDialog{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void show(Rules rules, Supplier<Rules> resetter){
|
public void show(Rules rules, Supplier<Rules> resetter){
|
||||||
|
Log.info("Shown: " + JsonIO.write(rules));
|
||||||
this.rules = rules;
|
this.rules = rules;
|
||||||
this.resetter = resetter;
|
this.resetter = resetter;
|
||||||
show();
|
show();
|
||||||
|
|||||||
Reference in New Issue
Block a user