Example #1
0
        public void LoadWidgets()
        {
            try
            {
                string[] Widgets = File.ReadLines(ConfigFile).ToArray();
                foreach (string Conifg in Widgets)
                {
                    string[]   ConfigSplit = Conifg.Split('|');
                    GridWidget Widget      = new GridWidget
                    {
                        Row    = int.Parse(ConfigSplit[0]),
                        Column = int.Parse(ConfigSplit[1])
                    };

                    if (Widget.Load(ConfigSplit[2]))
                    {
                        MasterDock.Add(Widget);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Widget Load Error : " + ex.ToString());
            }
        }
Example #2
0
        public void LoadWidgets()
        {
            try
            {
                string[] Widgets = File.ReadLines(ConfigFile).ToArray();
                foreach (string Conifg in Widgets)
                {
                    string[] ConfigSplit = Conifg.Split('|');
                    GridWidget Widget = new GridWidget
                    {
                        Row = int.Parse(ConfigSplit[0]),
                        Column = int.Parse(ConfigSplit[1])
                    };

                    if (Widget.Load(ConfigSplit[2]))
                    {
                        MasterDock.Add(Widget);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Widget Load Error : " + ex.ToString());
            }
        }
Example #3
0
        public MapView()
        {
            InitializeComponent();
            //MouseWheel += MapControlMouseWheel;
            MapControl.MouseLeftButtonDown  += MapControlOnMouseLeftButtonDown;
            MapControl.MouseRightButtonDown += MapControlOnMouseRightButtonDown;
            MapControl.MouseRightButtonUp   += MapControlOnMouseRightButtonUp;
            MapControl.MouseMove            += MapControlOnMouseMove;
            //MapControl.Map = new MyMap();

            MapControl.MouseWheel += MapControlMouseWheel;
            MapControl.MouseWheelAnimation.Duration = 0;

            MapControl.Renderer = new Common.Maps.MapRenderer();


            EventSystem.CenterMap += (position) => MapControl.Navigator.NavigateTo(position, 1, 500);
            //MapControl.Map.Resolutions;

            GameState.Instance.gameInfo.PropertyChanged += (a, b) =>
            {
                if (b.PropertyName == nameof(ModuleGameInfo.worldName))
                {
                    Helper.ParseLayers().ContinueWith(x =>
                                                      Networking.Instance.MainThreadInvoke(() => GenerateLayers(x.Result)));
                }
            };


            MapControl.Renderer.StyleRenderers[typeof(SvgStyle)]               = new SvgStyleRenderer();
            MapControl.Renderer.StyleRenderers[typeof(SvgStyleLazy)]           = new SvgStyleRenderer();
            MapControl.Renderer.StyleRenderers[typeof(TiledBitmapStyle)]       = new TiledBitmapRenderer();
            MapControl.Renderer.StyleRenderers[typeof(VelocityIndicatorStyle)] = new VelocityIndicatorRenderer();
            MapControl.Renderer.StyleRenderers[typeof(PolylineMarkerStyle)]    = new PolylineMarkerRenderer();
            MapControl.Renderer.StyleRenderers[typeof(MarkerIconStyle)]        = new MarkerIconRenderer();
            MapControl.Renderer.WidgetRenders[typeof(GridWidget)]              = new GridWidgetRenderer();

            var gridWidget = new GridWidget();

            MapControl.Map.Widgets.Add(gridWidget);


            MapControl.Map.Limiter            = new ViewportLimiter();
            MapControl.Map.Limiter.ZoomLimits = new MinMax(0.01, 40);

            MapMarkersLayer.IsMapInfoLayer = true;
            MapMarkersLayer.DataSource     = new MapMarkerProvider(MapMarkersLayer, currentBounds, MarkerVisibilityManager);
            MapMarkersLayer.Style          = null; // remove white circle https://github.com/Mapsui/Mapsui/issues/760
            MapControl.Map.Layers.Add(MapMarkersLayer);
            MapMarkersLayer.DataChanged += (a, b) => MapControl.RefreshData();
            // ^ without this create/delete only updates when screen is moved

            GPSTrackerLayer.IsMapInfoLayer = true;
            GPSTrackerLayer.DataSource     = new GPSTrackerProvider(GPSTrackerLayer, currentBounds);
            GPSTrackerLayer.Style          = null; // remove white circle https://github.com/Mapsui/Mapsui/issues/760
            MapControl.Map.Layers.Add(GPSTrackerLayer);
            GPSTrackerLayer.DataChanged += (a, b) => MapControl.RefreshData();
            // ^ without this create/delete only updates when screen is moved

            LayerList.AddWidget("Grid", gridWidget);
            MarkerVisibilityList.Initialize(MarkerVisibilityManager);
            //MapControl.ZoomToBox(new Point(0, 0), new Point(8192, 8192));
            //MapControl.Navigator.ZoomTo(1, new Point(512,512), 5);
            MapControl.Navigator.ZoomTo(6);

            var markerProvider = MapMarkersLayer.DataSource as MapMarkerProvider;

            MarkerCreate.OnChannelChanged += (oldID) =>
            {
                markerProvider?.RemoveMarker(oldID);
                markerProvider?.AddMarker(MarkerCreate.MarkerRef);
            };

            MarkerCreatePopup.Closed += (x, y) =>
            {
                if (MarkerCreate.MarkerRef != null)
                {
                    markerProvider?.RemoveMarker(MarkerCreate.MarkerRef.id);
                }
                MarkerCreate.MarkerRef = null;
            };

            if (GameState.Instance.gameInfo.worldName != null)
            {
                Helper.ParseLayers().ContinueWith(x => Networking.Instance.MainThreadInvoke(() => GenerateLayers(x.Result)));
            }
        }
Example #4
0
        public MapView()
        {
            InitializeComponent();
            //MouseWheel += MapControlMouseWheel;
            MapControl.MouseLeftButtonDown += MapControlOnMouseLeftButtonDown;
            MapControl.MouseLeftButtonUp   += MapControlOnMouseLeftButtonUp;
            MapControl.MouseMove           += MapControlOnMouseMove;
            MapControl.MouseEnter          += MapControlOnMouseEnter;
            MapControl.MouseLeave          += MapControlOnMouseLeave;

            //MapControl.Map = new MyMap();

            MapControl.MouseWheel += MapControlMouseWheel;
            MapControl.MouseWheelAnimation.Duration = 0;

            MapControl.Renderer = new Common.Maps.MapRenderer();

            Helper.WaitingForTerrain += OnWaitingForTerrainData;



            EventSystem.CenterMap += (position) => MapControl.Navigator.NavigateTo(position, 1, 500);
            //MapControl.Map.Resolutions;

            GameState.Instance.gameInfo.PropertyChanged += (a, b) =>
            {
                if (b.PropertyName == nameof(ModuleGameInfo.worldName))
                {
                    OnNewTerrainLoaded(GameState.Instance.gameInfo.worldName);
                }
            };


            var gridWidget = new GridWidget();

            MapControl.Map.Widgets.Add(gridWidget);


            MapControl.Map.Limiter            = new ViewportLimiter();
            MapControl.Map.Limiter.ZoomLimits = new MinMax(0.01, 40);

            MapMarkersLayer.IsMapInfoLayer = true;
            MapMarkersLayer.DataSource     = new MapMarkerProvider(MapMarkersLayer, currentBounds, MarkerVisibilityManager);
            MapMarkersLayer.Style          = null; // remove white circle https://github.com/Mapsui/Mapsui/issues/760
            MapControl.Map.Layers.Add(MapMarkersLayer);
            //MapMarkersLayer.DataChanged += (a, b) => MapControl.RefreshData();
            // ^ without this create/delete only updates when screen is moved

            GPSTrackerLayer.IsMapInfoLayer = true;
            GPSTrackerLayer.DataSource     = new GPSTrackerProvider(GPSTrackerLayer, currentBounds);
            GPSTrackerLayer.Style          = null; // remove white circle https://github.com/Mapsui/Mapsui/issues/760
            MapControl.Map.Layers.Add(GPSTrackerLayer);
            //GPSTrackerLayer.DataChanged += (a, b) => MapControl.RefreshData();
            // ^ without this create/delete only updates when screen is moved

            LayerList.AddWidget("Grid", gridWidget);
            MarkerVisibilityList.Initialize(MarkerVisibilityManager);

            var markerProvider = MapMarkersLayer.DataSource as MapMarkerProvider;

            MarkerVisibilityList.OnCurrentChannelSelected += (x) =>
            {
                DefaultMarkerChannel = x;
                markerProvider.SetForegroundChannel(DefaultMarkerChannel);
            };
            markerProvider.SetForegroundChannel(DefaultMarkerChannel);

            MarkerCreate.OnChannelChanged += (oldID) =>
            {
                markerProvider?.RemoveMarker(oldID);
                markerProvider?.AddMarker(MarkerCreate.MarkerRef);
            };

            MarkerCreatePopup.Closed += (x, y) =>
            {
                if (MarkerCreate.MarkerRef != null && !MarkerCreate.IsEdit)
                {
                    markerProvider?.RemoveMarker(MarkerCreate.MarkerRef.id);
                }
                MarkerCreate.MarkerRef = null;
            };

            if (GameState.Instance.gameInfo.worldName != null)
            {
                OnNewTerrainLoaded(GameState.Instance.gameInfo.worldName);
            }
        }