public void SaveAndClose() { this.Close(); try { if (FlightGlobals.ActiveVessel.isEVA ? (Vector3d.Distance(module.vessel.transform.position, FlightGlobals.ActiveVessel.transform.position) > 50) : !RTGlobals.coreList[module.vessel].InControl) { return; } } catch { return; } if (settingNode != null && module.vessel.loaded) { if (RTUtils.containsField(module, "antennaName")) { module.Fields.SetValue("antennaName", antennaName); } settingNode.save(); RTGlobals.network = new RelayNetwork(); RTGlobals.coreList[module.vessel].path = RTGlobals.network.GetCommandPath(RTGlobals.coreList[module.vessel].Rnode); } }