public void OnDestroy() { GameEvents.onVesselChange.Remove(vesselSwitch); GameEvents.onTimeWarpRateChanged.Remove(warpHandler); GameEvents.onPartCouple.Remove(docking); if (vesselRef != null) { vesselRef.OnPreAutopilotUpdate -= preAutoPilotUpdate; vesselRef.OnPostAutopilotUpdate -= postAutoPilotUpdate; } if (!ReferenceEquals(vesselAsst, null)) { vesselAsst.OnDestroy(); } if (!ReferenceEquals(vesselData, null) && !ReferenceEquals(PilotAssistantFlightCore.Instance, null)) { PilotAssistantFlightCore.Instance.removeVessel(this); } vesselRef = null; vesselSSAS = null; vesselStockSAS = null; vesselAsst = null; vesselData = null; }
public void OnDestroy() { if (Vessel != null) { GameEvents.onVesselChange.Remove(VesselSwitch); GameEvents.onTimeWarpRateChanged.Remove(WarpHandler); Vessel.OnPreAutopilotUpdate -= PreAutoPilotUpdate; Vessel.OnPostAutopilotUpdate -= PostAutoPilotUpdate; if (!ReferenceEquals(vesselAsst, null)) { vesselAsst.OnDestroy(); if (!ReferenceEquals(PilotAssistantFlightCore.Instance, null)) { PilotAssistantFlightCore.Instance.RemoveVessel(this); } } vesselAsst = null; vesselData = null; } }