public AttenuationZone(float d1, float d2, Part part, Vector3 start, Vector3 end) { dist1 = d1; dist2 = d2; if (HighLogic.LoadedSceneIsEditor) { part.DragCubes.SetDragWeights(); } volume = Utils.GetDisplacement(part); if (part.Rigidbody != null) { density = (part.mass + part.GetResourceMass()) / volume; } else { density = (part.mass + part.GetResourceMass()) / volume; } attenuationCoeff = (double)RadioactivitySettings.defaultPartAttenuationCoefficient; attenuationType = AttenuationType.Part; associatedPart = part; parameters = part.GetComponent <RadiationParameters>(); if (parameters != null) { attenuationType = AttenuationType.ParameterizedPart; density = parameters.Density; attenuationCoeff = (double)parameters.AttenuationCoefficient; } startPosition = start; endPosition = end; }
public AttenuationZone(float d1, float d2, AttenuationType tp, Vector3 start, Vector3 end) { dist1 = d1; dist2 = d2; attenuationType = AttenuationType.Terrain; startPosition = start; endPosition = end; }
public AttenuationZone(float d1, float d2, Vector3 start, Vector3 end) { attenuationType = AttenuationType.Empty; dist1 = d1; dist2 = d2; startPosition = start; endPosition = end; }