Beispiel #1
0
 public static void InvokeJumpDetails(ref dynamic vaProxy)
 {
     try
     {
         string type = vaProxy.GetText("Type variable");
         if (!string.IsNullOrEmpty(type))
         {
             ShipMonitor.JumpDetail detail = ((ShipMonitor)EDDI.Instance.ObtainMonitor("Ship monitor")).JumpDetails(type);
             vaProxy.SetDecimal("Ship jump detail distance", detail?.distance);
             vaProxy.SetInt("Ship jump detail jumps", detail?.jumps);
             vaProxy.SetText("Type variable", null);
         }
     }
     catch (Exception e)
     {
         setStatus(ref vaProxy, "Failed to get jump details", e);
     }
 }
Beispiel #2
0
        public static void InvokeRouteDetails(ref dynamic vaProxy)
        {
            try
            {
                CrimeMonitor    crimeMonitor     = (CrimeMonitor)EDDI.Instance.ObtainMonitor("Crime monitor");
                MaterialMonitor materialMonitor  = (MaterialMonitor)EDDI.Instance.ObtainMonitor("Material monitor");
                int             materialDistance = materialMonitor.maxStationDistanceFromStarLs ?? 10000;
                string          type             = vaProxy.GetText("Type variable");
                string          system           = vaProxy.GetText("System variable");
                string          station          = vaProxy.GetText("Station variable");

                switch (type)
                {
                case "cancel":
                {
                    NavigationService.Instance.CancelDestination();
                }
                break;

                case "encoded":
                {
                    NavigationService.Instance.GetServiceRoute("encoded", materialDistance);
                }
                break;

                case "expiring":
                {
                    NavigationService.Instance.GetExpiringRoute();
                }
                break;

                case "facilitator":
                {
                    int  distance  = crimeMonitor.maxStationDistanceFromStarLs ?? 10000;
                    bool isChecked = crimeMonitor.prioritizeOrbitalStations;
                    NavigationService.Instance.GetServiceRoute("facilitator", distance, isChecked);
                }
                break;

                case "farthest":
                {
                    NavigationService.Instance.GetFarthestRoute();
                }
                break;

                case "guardian":
                {
                    NavigationService.Instance.GetServiceRoute("guardian", materialDistance);
                }
                break;

                case "human":
                {
                    NavigationService.Instance.GetServiceRoute("human", materialDistance);
                }
                break;

                case "manufactured":
                {
                    NavigationService.Instance.GetServiceRoute("manufactured", materialDistance);
                }
                break;

                case "most":
                {
                    if (string.IsNullOrEmpty(system))
                    {
                        NavigationService.Instance.GetMostRoute();
                    }
                    else
                    {
                        NavigationService.Instance.GetMostRoute(system);
                    }
                }
                break;

                case "nearest":
                {
                    NavigationService.Instance.GetNearestRoute();
                }
                break;

                case "next":
                {
                    NavigationService.Instance.GetNextInRoute();
                }
                break;

                case "raw":
                {
                    NavigationService.Instance.GetServiceRoute("raw", materialDistance);
                }
                break;

                case "route":
                {
                    if (string.IsNullOrEmpty(system))
                    {
                        NavigationService.Instance.GetMissionsRoute();
                    }
                    else
                    {
                        NavigationService.Instance.GetMissionsRoute(system);
                    }
                }
                break;

                case "scoop":
                {
                    ShipMonitor.JumpDetail detail = ((ShipMonitor)EDDI.Instance.ObtainMonitor("Ship monitor")).JumpDetails("total");
                    NavigationService.Instance.GetScoopRoute(detail.distance);
                }
                break;

                case "set":
                {
                    if (string.IsNullOrEmpty(system))
                    {
                        NavigationService.Instance.SetDestination();
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(station))
                        {
                            NavigationService.Instance.SetDestination(system);
                        }
                        else
                        {
                            NavigationService.Instance.SetDestination(system, station);
                        }
                    }
                }
                break;

                case "source":
                {
                    if (string.IsNullOrEmpty(system))
                    {
                        NavigationService.Instance.GetSourceRoute();
                    }
                    else
                    {
                        NavigationService.Instance.GetSourceRoute(system);
                    }
                }
                break;

                case "update":
                {
                    if (string.IsNullOrEmpty(system))
                    {
                        NavigationService.Instance.UpdateRoute();
                    }
                    else
                    {
                        NavigationService.Instance.UpdateRoute(system);
                    }
                }
                break;
                }
                vaProxy.SetText("Type variable", null);
                vaProxy.SetText("System variable", null);
            }
            catch (Exception e)
            {
                setStatus(ref vaProxy, "Failed to get missions route", e);
            }
        }