void updateModuleLists() { rcsList = EditorUtils.GetModulesOf <ModuleRCS>(); chutesList = EditorUtils.GetModulesOf <ModuleParachute>(); engineList.Clear(); var tempEngineList = EditorUtils.GetModulesOf <ModuleEngines>(); var multiModeList = EditorUtils.GetModulesOf <MultiModeEngine>(); /* dont add engines that are using MultiModeEngine */ foreach (PartModule mod in tempEngineList) { bool found = false; foreach (PartModule mod2 in multiModeList) { if (mod2.part == mod.part) { found = true; break; } } if (!found) { engineList.Add(mod); } } engineList.AddRange(multiModeList); }
void updateModuleLists() { Profiler.BeginSample("[RCSBA] RCSBuildAid updateModuleList"); if (EditorLogic.RootPart == null) { rcsList.Clear(); engineList.Clear(); chutesList.Clear(); hasShipChutes = false; hasShipRCS = false; hasShipEngines = false; Profiler.EndSample(); return; } rcsList = EditorUtils.GetModulesOf <ModuleRCS> (); chutesList = EditorUtils.GetModulesOf <ModuleParachute> (); var moduleEngineList = EditorUtils.GetModulesOf <ModuleEngines> (); var multiModeEngineList = EditorUtils.GetModulesOf <MultiModeEngine> (); engineList = sortEngineList(moduleEngineList, multiModeEngineList); hasShipRCS = rcsList.Count > 0; hasShipEngines = engineList.Count > 0; hasShipChutes = chutesList.Count > 0; Profiler.EndSample(); }