public void RoutineDepartureDetail(string missiondId, uint flightIdDepartureDockPart, IWindow parent = null) { CancelRoutineDepartureDetail(); _routineDepartureDetailWindow = new RoutineDepartureDetailWindow(this); WindowManager.Open(_routineDepartureDetailWindow, parent: parent); RoutineDepartureMission routineDepartureMission = null; foreach (Mission mission in _missions) { if (mission.Info == null) { continue; } if (mission.Info.Type != 20) { continue; } if (mission.MissionId == missiondId) { routineDepartureMission = RoutineMission.AssemblePotentialRoutineMission <RoutineDepartureMission>(mission); routineDepartureMission.flightIdDepartureDockPart = flightIdDepartureDockPart; if (!routineDepartureMission.AllowedVessel(FlightGlobals.ActiveVessel).CheckSucces) { continue; } } } _routineDepartureDetailWindow.RoutineDepartureMission = routineDepartureMission; _routineDepartureDetailWindow.DepartureParts = RmmUtil.GetDockedParts(FlightGlobals.ActiveVessel, RmmUtil.GetDockedPart(FlightGlobals.ActiveVessel, RmmUtil.GetVesselPart(FlightGlobals.ActiveVessel, flightIdDepartureDockPart))); }
public void RoutineDetail(string missiondId, IWindow parent = null) { CancelRoutineDetail(); _routineDetailWindow = new RoutineDetailWindow(this); WindowManager.Open(_routineDetailWindow, parent: parent); RoutineArrivalMission routineArrivalMission = null; foreach (Mission mission in _missions) { if (mission.Info == null) { continue; } if (mission.Info.Type != 10) { continue; } if (mission.MissionId == missiondId) { routineArrivalMission = RoutineMission.AssemblePotentialRoutineMission <RoutineArrivalMission>(mission); if (!routineArrivalMission.AllowedLocation(FlightGlobals.ActiveVessel).CheckSucces) { continue; } } } _routineDetailWindow.RoutineArrivalMission = routineArrivalMission; }
public void RoutineOverview(IWindow parent = null) { _missions = Mission.LoadMissions(); CancelRoutineOverview(); _routineOverviewWindow = new RoutineOverviewWindow(this); WindowManager.Open(_routineOverviewWindow, parent: parent); List <RoutineArrivalMission> routineArrivalMissions = new List <RoutineArrivalMission>(); foreach (Mission mission in _missions) { if (mission.Info == null) { continue; } if (mission.Info.Type != 10) { continue; } var routineArrivalMission = RoutineMission.AssemblePotentialRoutineMission <RoutineArrivalMission>(mission); if (routineArrivalMission == null) { continue; } var check = routineArrivalMission.AllowedLocation(FlightGlobals.ActiveVessel); if (!routineArrivalMission.AllowedLocation(FlightGlobals.ActiveVessel).CheckSucces) { continue; } routineArrivalMissions.Add(routineArrivalMission); } _routineOverviewWindow.RoutineArrivalMissions = routineArrivalMissions; }
public void RoutineDepartureOverview(IWindow parent = null) { _missions = Mission.LoadMissions();; CancelRoutineDepartureOverview(); _routineDepartureOverviewWindow = new RoutineDepartureOverviewWindow(this); WindowManager.Open(_routineDepartureOverviewWindow, parent: parent); List <RoutineDepartureMission> routineDepartureMissions = new List <RoutineDepartureMission>(); foreach (Mission mission in _missions) { if (mission.Info == null) { continue; } if (mission.Info.Type != 20) { continue; } var locationRoutineDepartureMission = RoutineMission.AssemblePotentialRoutineMission <RoutineDepartureMission>(mission); if (locationRoutineDepartureMission == null) { continue; } if (!locationRoutineDepartureMission.AllowedLocation(FlightGlobals.ActiveVessel).CheckSucces) { continue; } foreach (Part part in FlightGlobals.ActiveVessel.parts) { string name = RmmScenario.Instance.GetRegisteredDockingPort(part.flightID); if (!String.IsNullOrEmpty(name)) { Part dockedPart = RmmUtil.GetDockedPart(FlightGlobals.ActiveVessel, part); if (dockedPart != null) { var routineDepartureMission = RoutineMission.AssemblePotentialRoutineMission <RoutineDepartureMission>(mission); routineDepartureMission.flightIdDepartureDockPart = part.flightID; var check = routineDepartureMission.AllowedVessel(FlightGlobals.ActiveVessel); if (!routineDepartureMission.AllowedVessel(FlightGlobals.ActiveVessel).CheckSucces) { continue; } routineDepartureMissions.Add(routineDepartureMission); } } } } _routineDepartureOverviewWindow.RoutineDepartureMissions = routineDepartureMissions; }