internal static void FreezeKerbal(ProtoCrewMember kerbal) { try { if (!InstalledMods.IsDfApiReady) { return; } List <Part> .Enumerator cryofreezers = SMUtils.GetFreezerParts().GetEnumerator(); while (cryofreezers.MoveNext()) { if (cryofreezers.Current == null) { continue; } if (!cryofreezers.Current.protoModuleCrew.Contains(kerbal)) { continue; } // ReSharper disable once SuspiciousTypeConversion.Global PartModule deepFreezer = SMConditions.GetFreezerModule(cryofreezers.Current); if (deepFreezer != null) { new DFWrapper.DeepFreezer(deepFreezer).beginFreezeKerbal(kerbal); } break; } cryofreezers.Dispose(); } catch (Exception ex) { SMUtils.LogMessage(string.Format(" in FreezeKerbal. Error: {0} \r\n\r\n{1}", ex.Message, ex.StackTrace), SMUtils.LogType.Error, true); } }
internal static void ThawKerbal(string kerbalName) { try { if (InstalledMods.IsDfApiReady) { DFWrapper.KerbalInfo iKerbal = DFWrapper.DeepFreezeAPI.FrozenKerbals[kerbalName]; List <Part> .Enumerator cryofreezers = SMUtils.GetFreezerParts().GetEnumerator(); while (cryofreezers.MoveNext()) { if (cryofreezers.Current == null) { continue; } if (cryofreezers.Current.flightID == iKerbal.partID) { // ReSharper disable once SuspiciousTypeConversion.Global PartModule deepFreezer = SMConditions.GetFreezerModule(cryofreezers.Current); if (deepFreezer != null) { new DFWrapper.DeepFreezer(deepFreezer).beginThawKerbal(kerbalName); } break; } } cryofreezers.Dispose(); } else { SMUtils.LogMessage(string.Format("ThawKerbal. IsDFInstalled: {0}", InstalledMods.IsDfInstalled), SMUtils.LogType.Info, true); } } catch (Exception ex) { SMUtils.LogMessage(string.Format(" in ThawKerbal. Error: {0} \r\n\r\n{1}", ex.Message, ex.StackTrace), SMUtils.LogType.Error, true); } }