public static void InitModules(ModuleTCA TCA)
 {
     TCA.DeleteModules();
     foreach (var core_field in ModuleTCA.CoreModuleFields)
     {
         var module = create_module(core_field.FieldType, TCA);
         if (module == null)
         {
             continue;
         }
         core_field.SetValue(TCA, module);
         TCA.AllModules.Add(module);
     }
     foreach (var mtype in Pipeline)
     {
         var module = create_module(mtype, TCA);
         if (module == null)
         {
             continue;
         }
         TCA.ModulesDB.Add(mtype, module);
         if (mtype.IsSubclassOf(typeof(AutopilotModule)))
         {
             TCA.AutopilotPipeline.Add(module);
         }
         else
         {
             TCA.ModulePipeline.Add(module);
         }
         TCA.AllModules.Add(module);
     }
     TCA.AllModules.ForEach(m => m.Init());
 }