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