void LoadWingmen() { wingmen = new List <IBDAIControl>(); if (savedWingmen == string.Empty) { return; } IEnumerator <string> wingIDs = savedWingmen.Split(new char[] { ',' }).AsEnumerable().GetEnumerator(); while (wingIDs.MoveNext()) { using (var vs = BDATargetManager.LoadedVessels.GetEnumerator()) while (vs.MoveNext()) { if (vs.Current == null || !vs.Current.loaded || VesselModuleRegistry.ignoredVesselTypes.Contains(vs.Current.vesselType)) { continue; } if (vs.Current.id.ToString() != wingIDs.Current) { continue; } var pilot = VesselModuleRegistry.GetIBDAIControl(vs.Current, true); if (pilot != null) { wingmen.Add(pilot); } } } wingIDs.Dispose(); }
void RefreshFriendlies() { if (!weaponManager) { return; } friendlies = new List <IBDAIControl>(); using (var vs = BDATargetManager.LoadedVessels.GetEnumerator()) while (vs.MoveNext()) { if (vs.Current == null) { continue; } if (!vs.Current.loaded || vs.Current == vessel || VesselModuleRegistry.ignoredVesselTypes.Contains(vs.Current.vesselType)) { continue; } IBDAIControl pilot = VesselModuleRegistry.GetIBDAIControl(vs.Current, true); if (pilot == null) { continue; } MissileFire wm = VesselModuleRegistry.GetMissileFire(vs.Current, true); if (wm == null || wm.Team != weaponManager.Team) { continue; } friendlies.Add(pilot); } //TEMPORARY wingmen = new List <IBDAIControl>(); using (var fs = friendlies.GetEnumerator()) while (fs.MoveNext()) { if (fs.Current == null) { continue; } wingmen.Add(fs.Current); } }