void takeRadarSnapshot() { if (EditorLogic.RootPart == null) { return; } // Encapsulate editor ShipConstruct into a vessel: Vessel v = new Vessel(); v.parts = EditorLogic.fetch.ship.Parts; RadarUtils.RenderVesselRadarSnapshot(v, EditorLogic.RootPart.transform); //first rendering for true RCS RadarUtils.RenderVesselRadarSnapshot(v, EditorLogic.RootPart.transform, true); //second rendering for nice zoomed-in view takeSnapshot = false; // get RCS reduction measures (stealth/low observability) rcsReductionFactor = 1.0f; int rcsCount = 0; List <Part> .Enumerator parts = EditorLogic.fetch.ship.Parts.GetEnumerator(); while (parts.MoveNext()) { ModuleECMJammer rcsJammer = parts.Current.GetComponent <ModuleECMJammer>(); if (rcsJammer != null) { if (rcsJammer.rcsReduction) { rcsReductionFactor *= rcsJammer.rcsReductionFactor; rcsCount++; } } } parts.Dispose(); if (rcsCount > 0) { rcsReductionFactor = Mathf.Clamp((rcsReductionFactor * rcsCount), 0.0f, 1); //same formula as in VesselECMJInfo must be used here! } }