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); } }
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); } } } }
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); }
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); } }