Also load material to doc mats when setting material
This commit is contained in:
parent
e5f0ff9322
commit
de61ffe174
@ -527,7 +527,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
if (value instanceof MaterialSerializationProxy) {
|
||||
MaterialSerializationProxy m = (MaterialSerializationProxy) value;
|
||||
value = Material.newMaterial(Material.Type.valueOf(m.type), m.name, m.density,
|
||||
MaterialGroup.loadFromDatabaseString(m.group), m.userDefined);
|
||||
MaterialGroup.loadFromDatabaseString(m.group), m.userDefined, true);
|
||||
}
|
||||
if (TYPE.getName().equals(keyName)) {
|
||||
this.properties.put(TYPE, (ComponentPreset.Type) value);
|
||||
|
@ -152,6 +152,9 @@ public abstract class ExternalComponent extends RocketComponent {
|
||||
if (material.equals(mat))
|
||||
return;
|
||||
material = mat;
|
||||
if (material.isDocumentMaterial() && getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
rocket.getDocument().getDocumentPreferences().addMaterial(mat);
|
||||
}
|
||||
clearPreset();
|
||||
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
|
||||
}
|
||||
@ -193,7 +196,7 @@ public abstract class ExternalComponent extends RocketComponent {
|
||||
Material mat = preset.get(ComponentPreset.MATERIAL);
|
||||
if (mat != null) {
|
||||
material = mat;
|
||||
if (getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
if (material.isDocumentMaterial() && getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
rocket.getDocument().getDocumentPreferences().addMaterial(mat);
|
||||
}
|
||||
} /*
|
||||
|
@ -133,6 +133,9 @@ public class Parachute extends RecoveryDevice {
|
||||
if (mat.equals(lineMaterial))
|
||||
return;
|
||||
this.lineMaterial = mat;
|
||||
if (lineMaterial.isDocumentMaterial() && getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
rocket.getDocument().getDocumentPreferences().addMaterial(this.lineMaterial);
|
||||
}
|
||||
if (getLineCount() != 0) {
|
||||
clearPreset();
|
||||
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
|
||||
@ -224,7 +227,7 @@ public class Parachute extends RecoveryDevice {
|
||||
int count = lineMaterialEmpty.length();
|
||||
if (count > 12 ) {
|
||||
this.lineMaterial = preset.get(ComponentPreset.LINE_MATERIAL);
|
||||
if (getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
if (lineMaterial.isDocumentMaterial() && getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
rocket.getDocument().getDocumentPreferences().addMaterial(this.lineMaterial);
|
||||
}
|
||||
} else {
|
||||
|
@ -103,6 +103,9 @@ public abstract class RecoveryDevice extends MassObject implements FlightConfigu
|
||||
if (mat.equals(material))
|
||||
return;
|
||||
this.material = (Material.Surface) mat;
|
||||
if (material.isDocumentMaterial() && getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
rocket.getDocument().getDocumentPreferences().addMaterial(this.material);
|
||||
}
|
||||
clearPreset();
|
||||
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
|
||||
}
|
||||
@ -144,8 +147,8 @@ public abstract class RecoveryDevice extends MassObject implements FlightConfigu
|
||||
if (count > 12 ) {
|
||||
Material m = preset.get(ComponentPreset.MATERIAL);
|
||||
this.material = (Material.Surface) m;
|
||||
if (getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
rocket.getDocument().getDocumentPreferences().addMaterial(m);
|
||||
if (material.isDocumentMaterial() && getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
rocket.getDocument().getDocumentPreferences().addMaterial(this.material);
|
||||
}
|
||||
} else {
|
||||
this.material = defaultMaterial;
|
||||
|
@ -23,7 +23,7 @@ public abstract class StructuralComponent extends InternalComponent {
|
||||
Material mat = preset.get(ComponentPreset.MATERIAL);
|
||||
if (mat != null) {
|
||||
this.material = mat;
|
||||
if (getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
if (material.isDocumentMaterial() && getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
rocket.getDocument().getDocumentPreferences().addMaterial(mat);
|
||||
}
|
||||
} /*
|
||||
@ -62,6 +62,9 @@ public abstract class StructuralComponent extends InternalComponent {
|
||||
if (mat.equals(material))
|
||||
return;
|
||||
this.material = mat;
|
||||
if (material.isDocumentMaterial() && getRoot() instanceof Rocket rocket && rocket.getDocument() != null) {
|
||||
rocket.getDocument().getDocumentPreferences().addMaterial(mat);
|
||||
}
|
||||
clearPreset();
|
||||
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user