private void HandleMenuWindow() { if (_menuWindow == null) { return; } if (!WindowManager.IsOpen(_menuWindow)) { CancelMenu(); return; } if (RmmUtil.AllowedBody(FlightGlobals.ActiveVessel.mainBody.name) && (RmmUtil.IsPreLaunch(FlightGlobals.ActiveVessel) || FlightGlobals.ActiveVessel.situation == Vessel.Situations.ORBITING)) { _menuWindow.TrackingEnabled = true; } else { _menuWindow.TrackingEnabled = false; } if (RmmUtil.AllowedBody(FlightGlobals.ActiveVessel.mainBody.name) && FlightGlobals.ActiveVessel.situation == Vessel.Situations.ORBITING) { _menuWindow.RoutineArrivalEnabled = true; _menuWindow.RoutineDepartureEnabled = true; _menuWindow.RegisterDockingPortsEnabled = true; } else { _menuWindow.RoutineArrivalEnabled = false; _menuWindow.RoutineDepartureEnabled = false; } }
private void setModule() { if (commercialvehiclemode && commercialvehicleOfferingLoaded) { Events["setAutoDepart"].guiActive = true; } else { Events["setAutoDepart"].guiActive = false; } if ((RmmUtil.IsPreLaunch(vessel) && !trackingActive && IsDockingPort()) || (returnMission && !trackingActive)) { Events["tracking"].guiActive = true; } else { Events["tracking"].guiActive = false; } if (PortCode == "" && vessel.situation == Vessel.Situations.ORBITING && RmmUtil.AllowedBody(vessel.mainBody.name) && IsDockingPort()) { Events["register"].guiActive = true; } else { Events["register"].guiActive = false; } }
private void HandleStartTrackingWindow() { if (_startTrackingWindow == null) { return; } if (!WindowManager.IsOpen(_startTrackingWindow)) { CancelStartTracking(); return; } if (_startTrackingVessel != null) { if (RmmUtil.IsTrackingActive(FlightGlobals.ActiveVessel) || !RmmUtil.IsPreLaunch(FlightGlobals.ActiveVessel)) { CancelStartTracking(); return; } _startTrackingWindow.VesselName = _startTrackingVessel.vesselName; _startTrackingWindow.Price = RmmUtil.CalculateVesselPrice(_startTrackingVessel); _startTrackingWindow.MinimumCrew = RmmUtil.AstronautCrewCount(_startTrackingVessel); } else if (_startDockingPort != null) { if (FlightGlobals.ActiveVessel.situation != Vessel.Situations.ORBITING) { CancelStartTracking(); return; } List <Part> dockedVesselParts = RmmUtil.GetDockedParts(_startDockingPort.vessel, _startDockingPort); // determine minimum crew _startTrackingWindow.MinimumCrew = RmmUtil.AstronautCrewCount(dockedVesselParts); // determine minimum resources List <string> propellants = RmmUtil.DetermineProppellantArray(dockedVesselParts); List <Resource> minimumResources = new List <Resource>(); foreach (String propellant in propellants) { var amount = RmmUtil.ReadResource(dockedVesselParts, propellant); if (amount != 0) { Resource resource = new Resource { Name = propellant, Amount = amount, }; minimumResources.Add(resource); } } _startTrackingWindow.MinimumResources = minimumResources; } }
private bool ToolBarButtonVisible() { if (RmmUtil.IsPreLaunch(FlightGlobals.ActiveVessel) || (FlightGlobals.ActiveVessel.situation == Vessel.Situations.ORBITING && RmmUtil.AllowedBody(FlightGlobals.ActiveVessel.mainBody.name) && RmmUtil.HasDockingPorts(FlightGlobals.ActiveVessel)) || RmmUtil.IsTrackingActive(FlightGlobals.ActiveVessel)) { return(true); } return(false); }
public void OpenGUITracking() { if (RmmUtil.IsPreLaunch(vessel) && !trackingActive) { trackStrName = vessel.vesselName; trackStrVehicleName = vessel.vesselName; SetThisPortPrimary(); } if (returnMission && !trackingActive) { SetThisPortPrimary(); } renderGUITracking = true; }
public void StartTrackingOption() { if (!RmmUtil.AllowedBody(FlightGlobals.ActiveVessel.mainBody.name)) { return; } if (!RmmUtil.IsTrackingActive(FlightGlobals.ActiveVessel) && RmmUtil.IsPreLaunch(FlightGlobals.ActiveVessel)) { _trackingControl.CreateLaunchTracking(FlightGlobals.ActiveVessel); } if (FlightGlobals.ActiveVessel.situation == Vessel.Situations.ORBITING) { EnableDepartureTracking(); } }
/// <summary> /// GUI Tracking /// </summary> /// <param name="windowID"></param> private void WindowGUITracking(int windowID) { GUI.DragWindow(new Rect(0, 0, 200, 30)); GUILayout.BeginVertical(); if (!trackingActive && RmmUtil.IsPreLaunch(vessel)) { if (trackWinMode != 0) { windowPosGUITracking = new Rect(200, 200, 300, 100); trackWinMode = 0; } createMissionForm(); } else if (trackingActive) { if (trackWinMode != 1) { windowPosGUITracking = new Rect(0, 400, 200, 50); trackWinMode = 1; } GUILayout.BeginHorizontal(); GUILayout.Label("tracking", RmmStyle.Instance.LabelStyle, GUILayout.Width(60)); if (GUILayout.Button("stop tracking", RmmStyle.Instance.ButtonStyle, GUILayout.Width(100), GUILayout.Height(22))) { trackAbort(); } GUILayout.EndHorizontal(); } else if (returnMission && !trackingActive && RmmUtil.IsDocked(vessel, part)) { if (trackWinMode != 2) { windowPosGUITracking = new Rect(200, 200, 300, 50); trackWinMode = 2; } returnMissionForm(); } else { CloseGUITracking(); } GUILayout.EndVertical(); }