示例#1
0
        public static string HttpOutputValuableSystems(EdsmConnector.System starSystem)
        {
            var    page        = new Explore(starSystem);
            String pageContent = page.TransformText();

            /*
             * var bodyReport = new StringBuilder();
             *
             * bodyReport.AppendFormat(Page.Title, starSystem.name, starSystem.distancefromhome);
             *
             * foreach (var body in starSystem.bodies)
             * {
             *  if (body.type == "Star" && new List<string> { "H", "N", "D" }.Any(item => item == body.stellarclass))
             *  {
             *      bodyReport.Append($"Stellar Class: {body.stellarclass}  Distance: {body.distance} </br>");
             *  }
             *  else if (null != body.planettype &&
             *      Exploration.StarTypes.Bodies.ContainsKey(body.planettype) &&
             *      Exploration.StarTypes.Bodies[body.planettype].scan)
             *  {
             *      bodyReport.Append(String.Format(
             *          Page.Entry, body.name, body.planettype, body.distance, body.terraformstate));
             *  }
             * }
             */

            var fileName = $"{Environment.GetEnvironmentVariable("LocalAppData")}\\EliteJoystick\\Pages\\explore.html";

            using (System.IO.StreamWriter file = new System.IO.StreamWriter(fileName))
            {
                file.Write(pageContent.ToString());
            }

            return(fileName);
        }
示例#2
0
        public static async Task <System> GetSystem(string systemName)
        {
            try
            {
                var url = $"{GET_SYSTEM_BY_NAME}{systemName}";
                using (var response = await client.GetAsync(url).ConfigureAwait(false))
                {
                    response.EnsureSuccessStatusCode();
                    var result = JsonConvert.DeserializeObject <System>(await response.Content.ReadAsStringAsync().ConfigureAwait(false));

                    if (string.IsNullOrEmpty(result?.name))
                    {
                        result = new EdsmConnector.System
                        {
                            name      = systemName,
                            bodyCount = -1,
                            bodies    = new EdsmConnector.Body[0]
                        };
                    }

                    return(result);
                }
            }
            catch (Exception ex)
            {
                return(new EdsmConnector.System
                {
                    name = $"{systemName}  ERROR: {ex.Message}",
                    bodyCount = -1,
                    bodies = new EdsmConnector.Body[0]
                });
            }
        }
示例#3
0
        public static void OutputValuableSystems(EdsmConnector.System starSystem, ILogger logger) // "InGame" Logger
        {
            logger.LogInformation($"-----------------------------------------------------------------------------------------------------------------");
            logger.LogInformation($"System: {starSystem.name}");

            foreach (var body in starSystem.bodies)
            {
                var starScan = new EliteGameStatus.Exploration.ScanBody();
                if (body.bodyType == "Planet" && Exploration.EliteStarTypes.Bodies.ContainsKey(body.subType))
                {
                    starScan = Exploration.EliteStarTypes.Bodies[body.subType];
                }
                if (body.bodyType == "Star" && Exploration.EliteStarTypes.Stars.ContainsKey(body.subType))
                {
                    starScan = Exploration.EliteStarTypes.Stars[body.subType];
                }

                var bodyText = string.Format("{0,-8}{1,-30}{2,-40}{3,-26}{4,9}",
                                             body.distanceToArrival,
                                             body.subType.Substring(0, Math.Min(body.subType.Length, 27)),
                                             body.name,
                                             body.terraformingState,
                                             starScan.value);

                logger.LogInformation(bodyText);
            }
        }
示例#4
0
 internal Explore(EdsmConnector.System starSystem)
 {
     this.starSystem = starSystem;
 }