internal void GetAntennas()
 {
     _antennas.Clear();
     try
     {
         // Added support for RemoteTech antennas
         foreach (Part pPart in SMAddon.vessel.Parts)
         {
             if (pPart.Modules.Contains("ModuleDataTransmitter") || pPart.Modules.Contains("ModuleRTAntenna"))
             {
                 ModAntenna pAntenna = new ModAntenna();
                 pAntenna.SPart = pPart;
                 foreach (PartModule pModule in pPart.Modules)
                 {
                     if (pModule.moduleName == "ModuleDataTransmitter" || pModule.moduleName == "ModuleRTAntenna")
                     {
                         pAntenna.XmitterModule = pModule;
                     }
                     if (pModule.moduleName == "ModuleAnimateGeneric" && (pModule.Events["Toggle"].guiName == "Extend" || pModule.Events["Toggle"].guiName == "Retract"))
                     {
                         pAntenna.AnimateModule = pModule;
                     }
                 }
                 _antennas.Add(pAntenna);
             }
         }
     }
     catch (Exception ex)
     {
         Utilities.LogMessage(string.Format("Error in GetAntennas().\r\nError:  {0}", ex.ToString()), "Error", true);
     }
 }
示例#2
0
 internal void GetAntennas()
 {
     _antennas.Clear();
     try
     {
         // Added support for RemoteTech antennas
         List <Part> .Enumerator pParts = Vessel.Parts.GetEnumerator();
         while (pParts.MoveNext())
         {
             if (pParts.Current == null)
             {
                 continue;
             }
             if (!pParts.Current.Modules.Contains("ModuleDataTransmitter") && !pParts.Current.Modules.Contains("ModuleRTAntenna"))
             {
                 continue;
             }
             ModAntenna pAntenna = new ModAntenna {
                 SPart = pParts.Current
             };
             List <PartModule> .Enumerator pModules = pParts.Current.Modules.GetEnumerator();
             while (pModules.MoveNext())
             {
                 if (pModules.Current == null)
                 {
                     continue;
                 }
                 PartModule pModule = (PartModule)pModules.Current;
                 if (pModule is ModuleDataTransmitter || pModule.moduleName == "ModuleRTAntenna")
                 {
                     pAntenna.XmitterModule = pModule;
                 }
                 if (pModule is ModuleDeployableAntenna ||
                     pModule is ModuleAnimateGeneric && (pModule.Events["Toggle"].guiName == "Extend" || pModule.Events["Toggle"].guiName == "Retract"))
                 {
                     pAntenna.AnimateModule = pModule;
                 }
             }
             pModules.Dispose();
             if (pAntenna.AnimateModule != null)
             {
                 _antennas.Add(pAntenna);
             }
         }
         pParts.Dispose();
     }
     catch (Exception ex)
     {
         SmUtils.LogMessage($"Error in GetAntennas().\r\nError:  {ex}", SmUtils.LogType.Error, true);
     }
 }
示例#3
0
 internal void GetAntennas()
 {
   _antennas.Clear();
   try
   {
     // Added support for RemoteTech antennas
     foreach (Part pPart in SMAddon.vessel.Parts)
     {
       if (pPart.Modules.Contains("ModuleDataTransmitter") || pPart.Modules.Contains("ModuleRTAntenna"))
       {
         ModAntenna pAntenna = new ModAntenna();
         pAntenna.SPart = pPart;
         foreach (PartModule pModule in pPart.Modules)
         {
           if (pModule.moduleName == "ModuleDataTransmitter" || pModule.moduleName == "ModuleRTAntenna")
           {
             pAntenna.XmitterModule = pModule;
           }
           if (pModule.moduleName == "ModuleAnimateGeneric" && (pModule.Events["Toggle"].guiName == "Extend" || pModule.Events["Toggle"].guiName == "Retract"))
           {
             pAntenna.AnimateModule = pModule;
           }
         }
         _antennas.Add(pAntenna);
       }
     }
   }
   catch (Exception ex)
   {
     Utilities.LogMessage(string.Format("Error in GetAntennas().\r\nError:  {0}", ex.ToString()), "Error", true);
   }
 }