Save file drop support for desktop

This commit is contained in:
Anuken
2026-02-04 12:36:40 -05:00
parent 5a9e8cbcac
commit 4497e34bbb
6 changed files with 73 additions and 8 deletions

View File

@@ -43,6 +43,7 @@ import mindustry.type.*;
import mindustry.type.ammo.*;
import mindustry.type.weather.*;
import mindustry.world.*;
import mindustry.world.blocks.*;
import mindustry.world.blocks.units.*;
import mindustry.world.blocks.units.UnitFactory.*;
import mindustry.world.consumers.*;
@@ -89,6 +90,14 @@ public class ContentParser{
if(Attribute.exists(attr)) return Attribute.get(attr);
return Attribute.add(attr);
});
put(Attributes.class, (type, data) -> {
Attributes attr = new Attributes();
for(var child : data){
Attribute value = Attribute.exists(child.name) ? Attribute.get(child.name) : Attribute.add(child.name);
attr.set(value, child.asFloat());
}
return attr;
});
put(BuildVisibility.class, (type, data) -> field(BuildVisibility.class, data));
put(Schematic.class, (type, data) -> {
Object result = fieldOpt(Loadouts.class, data);

View File

@@ -77,6 +77,13 @@ public class DataPatcher{
contentLoader = Vars.content.copy();
patches.clear();
Attribute[] oldAttributes = Attribute.all.clone();
var oldAttributeMap = Attribute.map.copy();
reset(() -> {
Attribute.all = oldAttributes;
Attribute.map = oldAttributeMap;
});
for(String patch : patchArray){
PatchSet set = new PatchSet(patch, new JsonValue("error"));
patches.add(set);