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