public void UpdatePosition(int order, int old) { switch (_mode) { case Tracking_Mode.CelestialBody: int index = _body == null ? 100 : _body.flightGlobalsIndex; Tracking_Persistence.SetBodyOrder(index, order, old); break; case Tracking_Mode.VesselType: Tracking_Persistence.SetTypeOrder((int)_type, order, old); break; } }
private Tracking_Group VesselTypeGroup(VesselType type) { int vessels = _TrackedVesselWidgets.Count; List <TrackingStationWidget> typeVessels = new List <TrackingStationWidget>(); for (int i = 0; i < vessels; i++) { if (_TrackedVesselWidgets[i].vessel.vesselType == type) { typeVessels.Add(_TrackedVesselWidgets[i]); } } if (typeVessels.Count > 0) { return(new Tracking_Group(Tracking_Utils.VesselTypeString(type), Tracking_Persistence.GetTypePersistence((int)type), _instantStart, SortWidgets(typeVessels), null, null, type, Tracking_Mode.VesselType)); } return(null); }
private void AddSubGroup(Tracking_MoonGroup subGroup) { Tracking_SubGroup sub = new Tracking_SubGroup(Tracking_Utils.LocalizeBodyName(subGroup.Moon.displayName), Tracking_Persistence.GetBodyPersistence(subGroup.Moon.flightGlobalsIndex), _instant, subGroup.Vessels, subGroup.Moon, _mode); _subGroups.Add(sub); }
private List <Tracking_Group> SortCelestialBodies() { List <Tracking_Group> vesselGroups = new List <Tracking_Group>(); int count = _OrderedBodyList.Count; for (int i = 0; i < count; i++) { Tracking_BodyGroup body = _OrderedBodyList[i]; List <TrackingStationWidget> bodyVessels = new List <TrackingStationWidget>(); int vessels = _TrackedVesselWidgets.Count; for (int j = 0; j < vessels; j++) { if (_TrackedVesselWidgets[j].vessel.mainBody == body.Body) { bodyVessels.Add(_TrackedVesselWidgets[j]); } } List <Tracking_MoonGroup> moonGroups = new List <Tracking_MoonGroup>(); int moons = body.Moons.Count; for (int k = 0; k < moons; k++) { List <TrackingStationWidget> moonVessels = new List <TrackingStationWidget>(); for (int l = 0; l < vessels; l++) { if (_TrackedVesselWidgets[l].vessel.mainBody == body.Moons[k]) { moonVessels.Add(_TrackedVesselWidgets[l]); } } if (moonVessels.Count > 0) { moonGroups.Add(new Tracking_MoonGroup() { Moon = body.Moons[k], Vessels = SortWidgets(moonVessels) }); } } if (bodyVessels.Count > 0 || moonGroups.Count > 0) { vesselGroups.Add(new Tracking_Group(Tracking_Utils.LocalizeBodyName(body.Body.displayName), Tracking_Persistence.GetBodyPersistence(body.Body.flightGlobalsIndex), _instantStart, SortWidgets(bodyVessels), moonGroups, body.Body, VesselType.Unknown, Tracking_Mode.CelestialBody)); } } return(vesselGroups); }