Support material group loading from preset
This commit is contained in:
parent
e3ce3ac7dd
commit
65116fcb58
@ -18,6 +18,7 @@ import java.util.Map;
|
|||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import info.openrocket.core.material.Material;
|
import info.openrocket.core.material.Material;
|
||||||
|
import info.openrocket.core.material.MaterialGroup;
|
||||||
import info.openrocket.core.motor.Manufacturer;
|
import info.openrocket.core.motor.Manufacturer;
|
||||||
import info.openrocket.core.rocketcomponent.ExternalComponent.Finish;
|
import info.openrocket.core.rocketcomponent.ExternalComponent.Finish;
|
||||||
import info.openrocket.core.rocketcomponent.Transition.Shape;
|
import info.openrocket.core.rocketcomponent.Transition.Shape;
|
||||||
@ -452,6 +453,9 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
|||||||
} else if (key.getType() == Material.class) {
|
} else if (key.getType() == Material.class) {
|
||||||
double d = ((Material) value).getDensity();
|
double d = ((Material) value).getDensity();
|
||||||
os.writeDouble(d);
|
os.writeDouble(d);
|
||||||
|
} else if (key.getType() == MaterialGroup.class) {
|
||||||
|
String s = ((MaterialGroup) value).getDatabaseString();
|
||||||
|
os.writeBytes(s);
|
||||||
} else if (key.getType() == Shape.class) {
|
} else if (key.getType() == Shape.class) {
|
||||||
// this is ugly to use the ordinal but what else?
|
// this is ugly to use the ordinal but what else?
|
||||||
int i = ((Shape) value).ordinal();
|
int i = ((Shape) value).ordinal();
|
||||||
@ -478,6 +482,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
|||||||
String type;
|
String type;
|
||||||
boolean userDefined;
|
boolean userDefined;
|
||||||
Double density;
|
Double density;
|
||||||
|
String group;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void writeObject(ObjectOutputStream oos) throws IOException {
|
private void writeObject(ObjectOutputStream oos) throws IOException {
|
||||||
@ -496,6 +501,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
|||||||
m.type = material.getType().name();
|
m.type = material.getType().name();
|
||||||
m.density = material.getDensity();
|
m.density = material.getDensity();
|
||||||
m.userDefined = material.isUserDefined();
|
m.userDefined = material.isUserDefined();
|
||||||
|
m.group = material.getGroup().getDatabaseString();
|
||||||
value = m;
|
value = m;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -520,7 +526,8 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
|||||||
|
|
||||||
if (value instanceof MaterialSerializationProxy) {
|
if (value instanceof MaterialSerializationProxy) {
|
||||||
MaterialSerializationProxy m = (MaterialSerializationProxy) value;
|
MaterialSerializationProxy m = (MaterialSerializationProxy) value;
|
||||||
value = Material.newMaterial(Material.Type.valueOf(m.type), m.name, m.density, m.userDefined);
|
value = Material.newMaterial(Material.Type.valueOf(m.type), m.name, m.density,
|
||||||
|
MaterialGroup.loadFromDatabaseString(m.group), m.userDefined);
|
||||||
}
|
}
|
||||||
if (TYPE.getName().equals(keyName)) {
|
if (TYPE.getName().equals(keyName)) {
|
||||||
this.properties.put(TYPE, (ComponentPreset.Type) value);
|
this.properties.put(TYPE, (ComponentPreset.Type) value);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user