Ejemplo n.º 1
0
 public void RemoveMarker(string id, bool fireDataChanged = true)
 {
     features.Remove(id);
     if (fireDataChanged)
     {
         MapMarkerLayer.DataHasChanged();
     }
 }
Ejemplo n.º 2
0
        private void OnMarkersUpdated()
        {
            //if (!GameState.Instance.marker.markerColors.Any() || !GameState.Instance.marker.markerTypes.Any()) return; //Don't create markers if we aren't ready
            foreach (var keyValuePair in GameState.Instance.marker.markers)
            {
                if (!features.ContainsKey(keyValuePair.Key))
                {
                    AddMarker(keyValuePair.Value, false);
                }
            }

            features.Where(x => !GameState.Instance.marker.markers.ContainsKey(x.Key)).Select(x => x.Key)
            .ToList()
            .ForEach(x => RemoveMarker(x, false));

            MapMarkerLayer.DataHasChanged();
        }
Ejemplo n.º 3
0
 private void UpdateForegroundChannelTransparency()
 {
     if (AppConfig.Instance.GetEntry <bool>($"Map.{nameof(Map.TransparentOffchannelMarkers)}"))
     {
         foreach (var markerFeature in features.Values.OfType <MarkerFeature>())
         {
             markerFeature.SetOpacityCoef((markerFeature.marker.channel != (int)foregroundChannel) ? 0.5f : 1f);
         }
         MapMarkerLayer.DataHasChanged();
     }
     else
     {
         foreach (var markerFeature in features.Values.OfType <MarkerFeature>())
         {
             markerFeature.SetOpacityCoef(1f);
         }
     }
 }
Ejemplo n.º 4
0
        public void AddMarker(ActiveMarker marker, bool fireDataChanged = true)
        {
            if (features.ContainsKey(marker.id))
            {
                return;
            }

            try
            {
                var feature = new MarkerFeature(marker);
                feature.DataChanged += (x, y) => MapMarkerLayer.DataHasChanged();
                features[marker.id]  = feature;
                if (fireDataChanged)
                {
                    MapMarkerLayer.DataHasChanged();
                }
            }
            catch (InvalidOperationException ex)
            {
            }
        }