コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: Cherrs/SMT
        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;
        }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: Cherrs/SMT
        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;
        }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: Cherrs/SMT
        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);
                }
            }
        }
コード例 #4
0
        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;
        }
コード例 #5
0
ファイル: MapConfig.cs プロジェクト: Errious/SMT
        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;
        }