private void ColourListDropdown_SelectionChanged(object sender, SelectionChangedEventArgs e) { MapColours newSelection = ColourListDropdown.SelectedItem as MapColours; if (newSelection == null) { return; } MapConf.ActiveColourScheme = newSelection; ColoursPropertyGrid.SelectedObject = newSelection; ColoursPropertyGrid.Update(); MapConf.DefaultColourSchemeName = newSelection.Name; }
public MainWindow() { OutputLog.Info("Starting App.."); InitializeComponent(); DynamicMapElements = new List <UIElement>(); // load any custom map settings off disk string mapConfigFileName = AppDomain.CurrentDomain.BaseDirectory + @"\MapConfig.dat"; OutputLog.Info("Loading Map config from {0}", mapConfigFileName); if (File.Exists(mapConfigFileName)) { try { XmlSerializer xms = new XmlSerializer(typeof(MapConfig)); FileStream fs = new FileStream(mapConfigFileName, FileMode.Open); XmlReader xmlr = XmlReader.Create(fs); MapConf = (MapConfig)xms.Deserialize(xmlr); } catch { MapConf = new MapConfig(); MapConf.MapColours = new List <MapColours>(); MapConf.SetDefaultColours(); } } else { MapConf = new MapConfig(); MapConf.MapColours = new List <MapColours>(); MapConf.SetDefaultColours(); } SelectedSystem = string.Empty; EVEManager = new EVEData.EveManager(); EVEData.EveManager.SetInstance(EVEManager); // if we want to re-build the data as we've changed the format, recreate it all from scratch bool initFromScratch = false; if (initFromScratch) { EVEManager.CreateFromScratch(); } else { EVEManager.LoadFromDisk(); } RegionDropDown.ItemsSource = EVEManager.Regions; EVEManager.SetupIntelWatcher(); RawIntelBox.ItemsSource = EVEManager.IntelDataList; // load jump bridge data EVEManager.LoadJumpBridgeData(); EVEManager.StartUpdateKillsFromESI(); EVEManager.StartUpdateJumpsFromESI(); EVEManager.StartUpdateSOVFromESI(); foreach (EVEData.MapRegion rd in EVEManager.Regions) { if (rd.Name == MapConf.DefaultRegion) { RegionDropDown.SelectedItem = rd; List <EVEData.MapSystem> newList = rd.MapSystems.Values.ToList().OrderBy(o => o.Name).ToList(); SystemDropDownAC.ItemsSource = newList; } } uiRefreshTimer = new System.Windows.Threading.DispatcherTimer(); uiRefreshTimer.Tick += UiRefreshTimer_Tick; uiRefreshTimer.Interval = new TimeSpan(0, 0, 5); uiRefreshTimer.Start(); CharacterDropDown.ItemsSource = EVEManager.LocalCharacters; MapControlsPropertyGrid.SelectedObject = MapConf; MapControlsPropertyGrid.PropertyValueChanged += MapControlsPropertyGrid_PropertyValueChanged; ColourListDropdown.ItemsSource = MapConf.MapColours; CharacterList.ItemsSource = EVEManager.LocalCharacters; MapColours selectedColours = MapConf.MapColours[0]; // find the matching active colour scheme foreach (MapColours mc in MapConf.MapColours) { if (MapConf.DefaultColourSchemeName == mc.Name) { selectedColours = mc; } } // load the dockmanager layout string dockManagerLayoutName = AppDomain.CurrentDomain.BaseDirectory + @"\Layout.dat"; if (File.Exists(dockManagerLayoutName)) { try { Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer ls = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager); using (var sr = new StreamReader(dockManagerLayoutName)) { ls.Deserialize(sr); } } catch { } } // load the anom data string anomDataFilename = AppDomain.CurrentDomain.BaseDirectory + @"\Anoms.dat"; if (File.Exists(anomDataFilename)) { try { XmlSerializer xms = new XmlSerializer(typeof(EVEData.AnomManager)); FileStream fs = new FileStream(anomDataFilename, FileMode.Open); XmlReader xmlr = XmlReader.Create(fs); ANOMManager = (EVEData.AnomManager)xms.Deserialize(xmlr); } catch { ANOMManager = new EVEData.AnomManager(); } } else { ANOMManager = new EVEData.AnomManager(); } // ColourListDropdown.SelectedItem = selectedColours; ColoursPropertyGrid.SelectedObject = selectedColours; MapConf.ActiveColourScheme = selectedColours; ColoursPropertyGrid.PropertyChanged += ColoursPropertyGrid_PropertyChanged; ReDrawMap(); Closed += MainWindow_Closed; EVEManager.IntelAddedEvent += OnIntelAdded; }
private void AddSystemsToMap() { EVEData.MapRegion rd = RegionDropDown.SelectedItem as EVEData.MapRegion; foreach (EVEData.Link jump in rd.Jumps) { Line sysLink = new Line(); EVEData.MapSystem from = rd.MapSystems[jump.From]; EVEData.MapSystem to = rd.MapSystems[jump.To]; sysLink.X1 = from.LayoutX; sysLink.Y1 = from.LayoutY; sysLink.X2 = to.LayoutX; sysLink.Y2 = to.LayoutY; if (jump.ConstelationLink) { sysLink.Stroke = new SolidColorBrush(MapConf.ActiveColourScheme.ConstellationGateColour); } else { sysLink.Stroke = new SolidColorBrush(MapConf.ActiveColourScheme.NormalGateColour); } sysLink.StrokeThickness = 1; sysLink.Visibility = Visibility.Visible; Canvas.SetZIndex(sysLink, 19); MainCanvas.Children.Add(sysLink); } if (MapConf.ShowJumpBridges || MapConf.ShowHostileJumpBridges) { foreach (EVEData.JumpBridge jb in EVEManager.JumpBridges) { if (rd.IsSystemOnMap(jb.From) && rd.IsSystemOnMap(jb.To)) { if ((jb.Friendly && !MapConf.ShowJumpBridges) || (!jb.Friendly && !MapConf.ShowHostileJumpBridges)) { continue; } // jbLink.Data EVEData.MapSystem from = rd.MapSystems[jb.From]; EVEData.MapSystem to = rd.MapSystems[jb.To]; Point startPoint = new Point(from.LayoutX, from.LayoutY); Point endPoint = new Point(to.LayoutX, to.LayoutY); Vector dir = Point.Subtract(startPoint, endPoint); double jbDistance = Point.Subtract(startPoint, endPoint).Length; Size arcSize = new Size(jbDistance + 50, jbDistance + 50); ArcSegment arcseg = new ArcSegment(endPoint, arcSize, 100, false, SweepDirection.Clockwise, true); PathSegmentCollection pscollection = new PathSegmentCollection(); pscollection.Add(arcseg); PathFigure pf = new PathFigure(); pf.Segments = pscollection; pf.StartPoint = startPoint; PathFigureCollection pfcollection = new PathFigureCollection(); pfcollection.Add(pf); PathGeometry pathGeometry = new PathGeometry(); pathGeometry.Figures = pfcollection; System.Windows.Shapes.Path path = new System.Windows.Shapes.Path(); path.Data = pathGeometry; if (jb.Friendly) { path.Stroke = new SolidColorBrush(MapConf.ActiveColourScheme.FriendlyJumpBridgeColour); } else { path.Stroke = new SolidColorBrush(MapConf.ActiveColourScheme.HostileJumpBridgeColour); } path.StrokeThickness = 2; DoubleCollection dashes = new DoubleCollection(); dashes.Add(1.0); dashes.Add(1.0); path.StrokeDashArray = dashes; Canvas.SetZIndex(path, 19); MainCanvas.Children.Add(path); } } } foreach (EVEData.MapSystem sys in rd.MapSystems.Values.ToList()) { double circleSize = 15; double circleOffset = circleSize / 2; double textXOffset = 5; double textYOffset = -8; double textYOffset2 = 6; // add circle for system Shape systemShape; if (sys.ActualSystem.HasNPCStation) { systemShape = new Rectangle() { Height = circleSize, Width = circleSize }; } else { systemShape = new Ellipse() { Height = circleSize, Width = circleSize }; } systemShape.Stroke = new SolidColorBrush(MapConf.ActiveColourScheme.SystemOutlineColour); if (sys.OutOfRegion) { systemShape.Fill = new SolidColorBrush(MapConf.ActiveColourScheme.OutRegionSystemColour); } else { systemShape.Fill = new SolidColorBrush(MapConf.ActiveColourScheme.InRegionSystemColour); } // override with sec status colours if (MapConf.ShowSystemSecurity) { systemShape.Fill = new SolidColorBrush(MapColours.GetSecStatusColour(sys.ActualSystem.Security)); } systemShape.DataContext = sys; systemShape.MouseDown += ShapeMouseDownHandler; systemShape.MouseEnter += ShapeMouseOverHandler; systemShape.MouseLeave += ShapeMouseOverHandler; Canvas.SetLeft(systemShape, sys.LayoutX - circleOffset); Canvas.SetTop(systemShape, sys.LayoutY - circleOffset); Canvas.SetZIndex(systemShape, 20); MainCanvas.Children.Add(systemShape); // add text Label sysText = new Label(); sysText.Content = sys.Name; if (MapConf.ActiveColourScheme.SystemTextSize > 0) { sysText.FontSize = MapConf.ActiveColourScheme.SystemTextSize; } if (sys.OutOfRegion) { sysText.Foreground = new SolidColorBrush(MapConf.ActiveColourScheme.OutRegionSystemTextColour); } else { sysText.Foreground = new SolidColorBrush(MapConf.ActiveColourScheme.InRegionSystemTextColour); } Canvas.SetLeft(sysText, sys.LayoutX + textXOffset); Canvas.SetTop(sysText, sys.LayoutY + textYOffset); Canvas.SetZIndex(sysText, 20); MainCanvas.Children.Add(sysText); double regionMarkerOffset = textYOffset2; if ((MapConf.ShowSystemSovName | MapConf.ShowSystemSovTicker) && sys.ActualSystem.SOVAlliance != null && EVEManager.AllianceIDToName.Keys.Contains(sys.ActualSystem.SOVAlliance)) { Label sysRegionText = new Label(); string content = ""; string allianceName = EVEManager.GetAllianceName(sys.ActualSystem.SOVAlliance); string allianceTicker = EVEManager.GetAllianceTicker(sys.ActualSystem.SOVAlliance); if (MapConf.ShowSystemSovName) { content = allianceName; } if (MapConf.ShowSystemSovTicker) { content = allianceTicker; } if (MapConf.ShowSystemSovTicker && MapConf.ShowSystemSovName && allianceName != string.Empty && allianceTicker != String.Empty) { content = allianceName + " (" + allianceTicker + ")"; } sysRegionText.Content = content; sysRegionText.FontSize = 7; sysRegionText.Foreground = new SolidColorBrush(MapConf.ActiveColourScheme.OutRegionSystemTextColour); Canvas.SetLeft(sysRegionText, sys.LayoutX + textXOffset); Canvas.SetTop(sysRegionText, sys.LayoutY + textYOffset2); Canvas.SetZIndex(sysRegionText, 20); MainCanvas.Children.Add(sysRegionText); regionMarkerOffset += 8; } if (MapConf.ShowJumpDistance && SelectedSystem != null && sys.Name != SelectedSystem) { double Distance = EVEManager.GetRange(SelectedSystem, sys.Name); Distance = Distance / 9460730472580800.0; double Max = 0.1f; switch (MapConf.JumpShipType) { case MapConfig.JumpShip.Super: { Max = 6.0; } break; case MapConfig.JumpShip.Titan: { Max = 6.0; } break; case MapConfig.JumpShip.Dread: { Max = 7.0; } break; case MapConfig.JumpShip.Carrier: { Max = 7.0; } break; case MapConfig.JumpShip.FAX: { Max = 7.0; } break; case MapConfig.JumpShip.Blops: { Max = 8.0; } break; case MapConfig.JumpShip.JF: { Max = 10.0; } break; } if (Distance < Max && Distance > 0.0) { systemShape.Fill = new SolidColorBrush(MapConf.ActiveColourScheme.JumpRangeInColour); string JD = Distance.ToString("0.00") + " LY"; Label DistanceText = new Label(); DistanceText.Content = JD; DistanceText.FontSize = 9; DistanceText.Foreground = new SolidColorBrush(MapConf.ActiveColourScheme.OutRegionSystemTextColour); regionMarkerOffset += 8; Canvas.SetLeft(DistanceText, sys.LayoutX + textXOffset); Canvas.SetTop(DistanceText, sys.LayoutY + textYOffset2); Canvas.SetZIndex(DistanceText, 20); MainCanvas.Children.Add(DistanceText); } else { systemShape.Fill = new SolidColorBrush(MapConf.ActiveColourScheme.JumpRangeOutColour); } } if (sys.OutOfRegion) { Label sysRegionText = new Label(); sysRegionText.Content = "(" + sys.Region + ")"; sysRegionText.FontSize = 7; sysRegionText.Foreground = new SolidColorBrush(MapConf.ActiveColourScheme.OutRegionSystemTextColour); Canvas.SetLeft(sysRegionText, sys.LayoutX + textXOffset); Canvas.SetTop(sysRegionText, sys.LayoutY + regionMarkerOffset); Canvas.SetZIndex(sysRegionText, 20); MainCanvas.Children.Add(sysRegionText); } } }
public MainWindow() { OutputLog.Info("Starting App.."); AppWindow = this; InitializeComponent(); string dockManagerLayoutName = AppDomain.CurrentDomain.BaseDirectory + @"\Layout.dat"; if (File.Exists(dockManagerLayoutName)) { try { Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer ls = new Xceed.Wpf.AvalonDock.Layout.Serialization.XmlLayoutSerializer(dockManager); using (var sr = new StreamReader(dockManagerLayoutName)) { ls.Deserialize(sr); } } catch { } } RegionLayoutDoc = FindDocWithContentID(dockManager.Layout, "MapRegionContentID"); /* // now update the RegionLayoutDoc because the layout loading breaks the binding * foreach (Xceed.Wpf.AvalonDock.Layout.ILayoutElement ile in dockManager.Layout.Children) * { * if(ile is Xceed.Wpf.AvalonDock.Layout.ILayoutContainer ) * { * Xceed.Wpf.AvalonDock.Layout.ILayoutContainer ilc = ile as Xceed.Wpf.AvalonDock.Layout.ILayoutContainer; * * foreach (Xceed.Wpf.AvalonDock.Layout.LayoutDocumentPane ldp in ilc.Children.OfType<Xceed.Wpf.AvalonDock.Layout.LayoutDocumentPane>()) * { * foreach (Xceed.Wpf.AvalonDock.Layout.LayoutDocument ld in ldp.Children.OfType<Xceed.Wpf.AvalonDock.Layout.LayoutDocument>()) * { * if (ld.ContentId == "MapRegionContentID") * { * RegionLayoutDoc = ld; * } * } * } * * } * * } */ // load any custom map settings off disk string mapConfigFileName = AppDomain.CurrentDomain.BaseDirectory + @"\MapConfig.dat"; OutputLog.Info("Loading Map config from {0}", mapConfigFileName); if (File.Exists(mapConfigFileName)) { try { XmlSerializer xms = new XmlSerializer(typeof(MapConfig)); FileStream fs = new FileStream(mapConfigFileName, FileMode.Open); XmlReader xmlr = XmlReader.Create(fs); MapConf = (MapConfig)xms.Deserialize(xmlr); fs.Close(); } catch { MapConf = new MapConfig(); MapConf.MapColours = new List <MapColours>(); MapConf.SetDefaultColours(); } } else { MapConf = new MapConfig(); MapConf.MapColours = new List <MapColours>(); MapConf.SetDefaultColours(); } EVEManager = new EVEData.EveManager(); EVEData.EveManager.Instance = EVEManager; // if we want to re-build the data as we've changed the format, recreate it all from scratch bool initFromScratch = false; if (initFromScratch) { EVEManager.CreateFromScratch(); } else { EVEManager.LoadFromDisk(); } EVEManager.SetupIntelWatcher(); RawIntelBox.ItemsSource = EVEManager.IntelDataList; // load jump bridge data EVEManager.LoadJumpBridgeData(); EVEManager.UpdateESIUniverseData(); EVEManager.InitNavigation(); ColourListDropdown.ItemsSource = MapConf.MapColours; CharactersList.ItemsSource = EVEManager.LocalCharacters; TheraConnectionsList.ItemsSource = EVEManager.TheraConnections; MapColours selectedColours = MapConf.MapColours[0]; // find the matching active colour scheme foreach (MapColours mc in MapConf.MapColours) { if (MapConf.DefaultColourSchemeName == mc.Name) { selectedColours = mc; } } RegionRC.MapConf = MapConf; RegionRC.Init(); RegionRC.SelectRegion(MapConf.DefaultRegion); RegionRC.RegionChanged += RegionRC_RegionChanged; RegionRC.CharacterSelectionChanged += RegionRC_CharacterSelectionChanged; // load the anom data string anomDataFilename = AppDomain.CurrentDomain.BaseDirectory + @"\Anoms.dat"; if (File.Exists(anomDataFilename)) { try { XmlSerializer xms = new XmlSerializer(typeof(EVEData.AnomManager)); FileStream fs = new FileStream(anomDataFilename, FileMode.Open); XmlReader xmlr = XmlReader.Create(fs); ANOMManager = (EVEData.AnomManager)xms.Deserialize(xmlr); fs.Close(); } catch { ANOMManager = new EVEData.AnomManager(); } } else { ANOMManager = new EVEData.AnomManager(); } MainAnomGrid.DataContext = ANOMManager; RegionRC.ANOMManager = ANOMManager; MainRouteGrid.DataContext = RegionRC; AppStatusBar.DataContext = EVEManager.ServerInfo; // ColourListDropdown.SelectedItem = selectedColours; ColoursPropertyGrid.SelectedObject = selectedColours; MapConf.ActiveColourScheme = selectedColours; ColoursPropertyGrid.PropertyChanged += ColoursPropertyGrid_PropertyChanged; MapConf.PropertyChanged += MapConf_PropertyChanged; MapControlsPropertyGrid.PropertyChanged += ColoursPropertyGrid_PropertyChanged; Closed += MainWindow_Closed; EVEManager.IntelAddedEvent += OnIntelAdded; //MapConf.PropertyChanged += RegionRC.MapObjectChanged; AddRegionsToUniverse(); uiRefreshTimer = new System.Windows.Threading.DispatcherTimer(); uiRefreshTimer.Tick += UiRefreshTimer_Tick; uiRefreshTimer.Interval = new TimeSpan(0, 0, 4); uiRefreshTimer.Start(); ZKBFeed.ItemsSource = EVEManager.ZKillFeed.KillStream; CollectionView zKBFeedview = (CollectionView)CollectionViewSource.GetDefaultView(ZKBFeed.ItemsSource); zKBFeedview.Filter = ZKBFeedFilter; MapControlsPropertyGrid.SelectedObject = MapConf; }
public void SetDefaultColours() { MapColours defaultColours = new MapColours(); defaultColours.Name = "Default"; defaultColours.UserEditable = false; defaultColours.FriendlyJumpBridgeColour = Color.FromRgb(102, 205, 170); defaultColours.HostileJumpBridgeColour = Color.FromRgb(250, 128, 114); defaultColours.SystemOutlineColour = Color.FromRgb(0, 0, 0); defaultColours.InRegionSystemColour = Color.FromRgb(255, 239, 213); defaultColours.InRegionSystemTextColour = Color.FromRgb(0, 0, 0); defaultColours.OutRegionSystemColour = Color.FromRgb(218, 165, 32); defaultColours.OutRegionSystemTextColour = Color.FromRgb(0, 0, 0); defaultColours.MapBackgroundColour = Color.FromRgb(105, 105, 105); defaultColours.ESIOverlayColour = Color.FromRgb(188, 143, 143); defaultColours.IntelOverlayColour = Color.FromRgb(178, 34, 34); defaultColours.NormalGateColour = Color.FromRgb(255, 248, 220); defaultColours.ConstellationGateColour = Color.FromRgb(128, 128, 128); defaultColours.SelectedSystemColour = Color.FromRgb(255, 255, 255); defaultColours.CharacterHighlightColour = Color.FromRgb(170, 130, 180); defaultColours.CharacterTextColour = Color.FromRgb(240, 190, 10); defaultColours.CharacterTextSize = 11; defaultColours.SystemTextSize = 12; defaultColours.JumpRangeInColour = Color.FromRgb(135, 206, 235); defaultColours.ActiveIncursionColour = Color.FromRgb(110, 82, 77); MapColours.Add(defaultColours); MapColours blueColours = new MapColours(); blueColours.Name = "Blue"; blueColours.UserEditable = false; blueColours.FriendlyJumpBridgeColour = Color.FromRgb(154, 205, 50); blueColours.HostileJumpBridgeColour = Color.FromRgb(216, 191, 216); blueColours.SystemOutlineColour = Color.FromRgb(0, 0, 0); blueColours.InRegionSystemColour = Color.FromRgb(134, 206, 235); blueColours.InRegionSystemTextColour = Color.FromRgb(0, 0, 0); blueColours.OutRegionSystemColour = Color.FromRgb(112, 108, 124); blueColours.OutRegionSystemTextColour = Color.FromRgb(0, 0, 0); blueColours.MapBackgroundColour = Color.FromRgb(245, 245, 245); blueColours.ESIOverlayColour = Color.FromRgb(192, 192, 192); blueColours.IntelOverlayColour = Color.FromRgb(216, 191, 216); blueColours.NormalGateColour = Color.FromRgb(90, 90, 90); blueColours.ConstellationGateColour = Color.FromRgb(120, 120, 120); blueColours.SelectedSystemColour = Color.FromRgb(0, 0, 0); blueColours.CharacterHighlightColour = Color.FromRgb(0, 0, 0); blueColours.CharacterTextColour = Color.FromRgb(0, 0, 0); blueColours.CharacterTextSize = 8; blueColours.SystemTextSize = 12; blueColours.JumpRangeInColour = Color.FromRgb(0, 255, 0); blueColours.ActiveIncursionColour = Color.FromRgb(110, 82, 77); MapColours.Add(blueColours); MapColours greyAndRed = new MapColours(); greyAndRed.Name = "Grey & Red"; greyAndRed.UserEditable = false; greyAndRed.FriendlyJumpBridgeColour = Color.FromRgb(128, 128, 128); greyAndRed.HostileJumpBridgeColour = Color.FromRgb(178, 34, 34); greyAndRed.SystemOutlineColour = Color.FromRgb(0, 0, 0); greyAndRed.InRegionSystemColour = Color.FromRgb(240, 248, 255); greyAndRed.InRegionSystemTextColour = Color.FromRgb(0, 0, 0); greyAndRed.OutRegionSystemColour = Color.FromRgb(128, 34, 34); greyAndRed.OutRegionSystemTextColour = Color.FromRgb(0, 0, 0); greyAndRed.MapBackgroundColour = Color.FromRgb(245, 245, 245); greyAndRed.ESIOverlayColour = Color.FromRgb(192, 192, 192); greyAndRed.IntelOverlayColour = Color.FromRgb(80, 34, 34); greyAndRed.NormalGateColour = Color.FromRgb(80, 80, 80); greyAndRed.ConstellationGateColour = Color.FromRgb(120, 120, 120); greyAndRed.SelectedSystemColour = Color.FromRgb(0, 0, 0); greyAndRed.CharacterHighlightColour = Color.FromRgb(0, 0, 0); greyAndRed.CharacterTextColour = Color.FromRgb(0, 0, 0); greyAndRed.CharacterTextSize = 8; greyAndRed.SystemTextSize = 12; greyAndRed.JumpRangeInColour = Color.FromRgb(0, 255, 0); greyAndRed.ActiveIncursionColour = Color.FromRgb(110, 82, 77); MapColours.Add(greyAndRed); MapColours dark = new MapColours(); dark.Name = "Dark"; dark.UserEditable = false; dark.FriendlyJumpBridgeColour = Color.FromRgb(46, 139, 87); dark.HostileJumpBridgeColour = Color.FromRgb(178, 34, 34); dark.SystemOutlineColour = Color.FromRgb(0, 0, 0); dark.InRegionSystemColour = Color.FromRgb(112, 128, 144); dark.InRegionSystemTextColour = Color.FromRgb(128, 128, 128); dark.OutRegionSystemColour = Color.FromRgb(224, 255, 255); dark.OutRegionSystemTextColour = Color.FromRgb(128, 128, 128); dark.MapBackgroundColour = Color.FromRgb(20, 20, 20); dark.ESIOverlayColour = Color.FromRgb(209, 201, 202); dark.IntelOverlayColour = Color.FromRgb(205, 92, 92); dark.NormalGateColour = Color.FromRgb(192, 192, 192); dark.ConstellationGateColour = Color.FromRgb(150, 150, 150); dark.SelectedSystemColour = Color.FromRgb(255, 255, 255); dark.CharacterHighlightColour = Color.FromRgb(255, 255, 255); dark.CharacterTextColour = Color.FromRgb(255, 255, 255); dark.CharacterTextSize = 8; dark.SystemTextSize = 12; dark.JumpRangeInColour = Color.FromRgb(0, 255, 0); dark.ActiveIncursionColour = Color.FromRgb(110, 82, 77); MapColours.Add(dark); MapColours lateNight = new MapColours(); lateNight.Name = "Modern Dark"; lateNight.UserEditable = false; lateNight.FriendlyJumpBridgeColour = Color.FromRgb(102, 205, 170); lateNight.HostileJumpBridgeColour = Color.FromRgb(250, 128, 114); lateNight.SystemOutlineColour = Color.FromRgb(0, 0, 0); lateNight.InRegionSystemColour = Color.FromRgb(255, 239, 213); lateNight.InRegionSystemTextColour = Color.FromRgb(245, 245, 245); lateNight.OutRegionSystemColour = Color.FromRgb(218, 165, 32); lateNight.OutRegionSystemTextColour = Color.FromRgb(218, 165, 32); lateNight.MapBackgroundColour = Color.FromRgb(32, 32, 32); lateNight.ESIOverlayColour = Color.FromRgb(81, 81, 81); lateNight.IntelOverlayColour = Color.FromRgb(178, 34, 34); lateNight.NormalGateColour = Color.FromRgb(255, 248, 220); lateNight.ConstellationGateColour = Color.FromRgb(128, 128, 128); lateNight.SelectedSystemColour = Color.FromRgb(173, 255, 47); lateNight.CharacterHighlightColour = Color.FromRgb(173, 255, 47); lateNight.CharacterTextColour = Color.FromRgb(127, 255, 0); lateNight.CharacterTextSize = 8; lateNight.SystemTextSize = 13; lateNight.JumpRangeInColour = Color.FromRgb(0, 255, 0); lateNight.ActiveIncursionColour = Color.FromRgb(110, 82, 77); MapColours.Add(lateNight); ActiveColourScheme = defaultColours; }