예제 #1
0
        public void AddBasecampsLayer()
        {
            var basecamp = layerHelper.FindLayer(Constants.BasecampsLayer) as BasecampLayer;

            if (basecamp == null)
            {
                return;
            }
            basecampsOnOff = new LayerControlOnOff(basecamp, true);

            if (!IsLayerAlreadyLoaded(layerWrapper.Children, Constants.BasecampsLayer))
            {
                layerWrapper.Children.Add(basecampsOnOff);
            }
        }
예제 #2
0
        private void MapControlMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (!isScoreAdding) //esto evita que abran el hexagono nuevamente mientras se está guardando un puntaje
            {
                if ((Current.Instance.TutorialStarted && tutorialCompletePhase1) || (Current.Instance.Tutorial2Started && tutorialCompletePhase2) || (!Current.Instance.TutorialStarted && !Current.Instance.Tutorial2Started))
                {
                    leftMouseButtonDown = true;

                    if (!layerHelper.FindLayer(Constants.Hexagonlayername).Enabled)
                    {
                        return;
                    }

                    var mousePos            = e.GetPosition(mapControl);
                    var sphericalCoordinate = mapControl.Viewport.ScreenToWorld(mousePos.X, mousePos.Y); //TODO: posicionar bien el tooltip
                    var lonLat = SphericalMercator.ToLonLat(sphericalCoordinate.X, sphericalCoordinate.Y);

                    var feature = hexagonInfo.GetFeature(lonLat.x, lonLat.y, 7);
                    var hexCode = GeoHex.Encode(lonLat.x, lonLat.y, 7);

                    if (feature == null)
                    {
                        // try on level 6...
                        hexCode = GeoHex.Encode(lonLat.x, lonLat.y, 6);
                    }

                    bool showHex = true;
                    if ((Current.Instance.TutorialStarted || Current.Instance.Tutorial2Started) && !selectedLand.GeohexKey.Equals(hexCode))
                    {
                        showHex = false;
                    }

                    if (showHex)
                    {
                        if (Current.Instance.TutorialStarted)
                        {
                            this.Tutorial5.Visibility      = System.Windows.Visibility.Collapsed;
                            this.Tutorial5Arrow.Visibility = System.Windows.Visibility.Collapsed;
                        }

                        if (Current.Instance.Tutorial2Started)
                        {
                            this.Tutorial23.Visibility     = System.Windows.Visibility.Collapsed;
                            this.Tutorial5Arrow.Visibility = System.Windows.Visibility.Collapsed;
                        }

                        hexagonInfo.ShowInfo(lonLat.x, lonLat.y);
                    }
                }
            }
        }
예제 #3
0
        public void SetLayerHelper(LayerHelper layerHelper)
        {
            this.layerHelper = layerHelper;

            var hexLayer = layerHelper.FindLayer(Constants.Hexagonlayername);

            if (hexLayer == null)
            {
                return;
            }

            hexagonOnOff = new LayerControlOnOff(hexLayer, true);
            hexagonOnOff.VisibilityChanged += hexagonLayerOnOff_VisibilityChanged;
            layerWrapper.Children.Add(hexagonOnOff);
        }
예제 #4
0
        private void LayerHelperLayersChanged(object sender, EventArgs e)
        {
            layerWrapper.Children.Clear();

            //Add standardlayers
            var hexLayer = layerHelper.FindLayer(Constants.Hexagonlayername);

            //var alertedlandLayer = layerHelper.FindLayer(Constants.AlertedLandLayername);
            //var flagLayer = layerHelper.FindLayer(Constants.flagLayerName);

            //if (hexLayer == null || alertedlandLayer == null || flagLayer == null)
            //    return;

            if (hexLayer == null)
            {
                return;
            }

            layerWrapper.Children.Add(new LayerControl(hexLayer));
            //layerWrapper.Children.Add(new LayerControl(alertedlandLayer));
            //layerWrapper.Children.Add(new LayerControl(flagLayer));


            //Add other layers
            for (var i = layerHelper.Layers.Count - 1; i >= 0; i--)
            {
                //if (layerHelper.Layers[i] == hexLayer || layerHelper.Layers[i] == alertedlandLayer || layerHelper.Layers[i] == flagLayer)
                //    continue;

                if (layerHelper.Layers[i] == hexLayer)
                {
                    continue;
                }

                var layerControl = new LayerControl(layerHelper.Layers[i]);
                layerWrapper.Children.Add(layerControl);
            }
        }