Пример #1
0
        private string ComposeExtraInfo(SystemSummaryRow row, EntryScanAutoScan sas)
        {
            if (row.BodyType == BodyType.Star)
            {
                if (sas.StarType == "N")
                {
                    return("Neutron star");
                }
                return($"Startype: {sas.StarType}");
            }

            EntryScanDetailed sd = sas as EntryScanDetailed;

            if (sd != null)
            {
                if (!String.IsNullOrWhiteSpace(sd.PlanetClass))
                {
                    return($"{sd.PlanetClass}");
                }
            }

            if (row.Description.Contains(BELT_CLUSTER_ID))
            {
                int idx = row.Description.IndexOf(BELT_CLUSTER_ID);
                return(row.Description.Substring(idx));
            }

            return(row.ExtraInfo);
        }
Пример #2
0
        private void CreateDisplayEventForScanDetailed(EntryScanDetailed ds)
        {
            DisplayEvent de = new DisplayEvent()
            {
                Text          = $"Scanned {ds.BodyName} ({ds.PlanetClass}) {ds.WasDiscovered} {ds.WasMapped} {ds.TerraformState} {ds.Landable}",
                EventType     = DisplayEventType.Scan,
                IsHighlighted = Logic.IsHighlightedScan(ds),
            };

            if (ds.WasDiscovered == false)
            {
                de.Symbol2        = '\xf890'; // sparkles
                de.Symbol2Tooltip = "undiscovered!";
            }
            if (Logic.IsTerraformable(ds))
            {
                de.Symbol1        = '\xf7a2'; // globe-europe
                de.Symbol1Tooltip = "terraformable!";
            }
            if (Logic.IsWaterworld(ds))
            {
                de.Symbol1        = '\xf7a2';
                de.Symbol1Tooltip = "water world";
                if (de.Symbol2.IsDefaultOrWhitespace())
                {
                    de.Symbol2        = '\xf773'; // water
                    de.Symbol2Tooltip = "water world";
                }
            }
            else if (Logic.IsEarthlike(ds))
            {
                de.Symbol1        = '\xf7a2';
                de.Symbol1Tooltip = "earth-like";
                if (de.Symbol2.IsDefaultOrWhitespace())
                {
                    de.Symbol2        = '\xf6bb'; // campground
                    de.Symbol2Tooltip = "earth-like";
                }
            }
            else if (Logic.IsAmmoniaWorld(ds))
            {
                de.Symbol1        = '\xf7a2';
                de.Symbol1Tooltip = "ammonia world";
                if (de.Symbol2.IsDefaultOrWhitespace())
                {
                    de.Symbol2        = '\xf7fa'; // disease
                    de.Symbol2Tooltip = "ammonia world";
                }
            }
            de.IsBoring = (!de.IsHighlighted) && (ds.WasDiscovered);
            this.receiver.Events.Add(de);
        }