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()); }