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