public MapMarkerProvider(ILayer mapMarkerLayer, BoundingBox boundingBox, IMarkerVisibilityManager visibilityManager, ModuleMarker makerModule) { MapMarkerLayer = mapMarkerLayer; _boundingBox = boundingBox; _visibilityManager = visibilityManager; _makerModule = makerModule; //this._boundingBox = MemoryProvider.GetExtents(this.Features); _makerModule.markers.CollectionChanged += (a, e) => OnMarkersUpdated(); _makerModule.PropertyChanged += (a, e) => //#TODO probably don't need this anymore, same on GPSTracker { if (e.PropertyName == nameof(ModuleMarker.markers) && _makerModule.markers != null) { _makerModule.markers.CollectionChanged += (b, c) => OnMarkersUpdated(); OnMarkersUpdated(); } }; _visibilityManager.OnUpdated += () => { MapMarkerLayer.DataHasChanged(); }; MapMarkerLayer.DataHasChanged(); OnMarkersUpdated(); }
public MapMarkerProvider(ILayer mapMarkerLayer, BoundingBox boundingBox, IMarkerVisibilityManager visibilityManager) { MapMarkerLayer = mapMarkerLayer; _boundingBox = boundingBox; _visibilityManager = visibilityManager; _makerModule = GameState.Instance.marker; //this._boundingBox = MemoryProvider.GetExtents(this.Features); _makerModule.markers.CollectionChanged += (a, e) => OnMarkersUpdated(); _makerModule.PropertyChanged += (a, e) => //#TODO probably don't need this anymore, same on GPSTracker { if (e.PropertyName == nameof(ModuleMarker.markers) && _makerModule.markers != null) { _makerModule.markers.CollectionChanged += (b, c) => OnMarkersUpdated(); OnMarkersUpdated(); } }; _visibilityManager.OnUpdated += () => { MapMarkerLayer.DataHasChanged(); }; AppConfig.Instance.GetSection <Map>("Map").PropertyChanged += (x, y) => { if (y.PropertyName == nameof(Map.TransparentOffchannelMarkers)) { UpdateForegroundChannelTransparency(); } }; MapMarkerLayer.DataHasChanged(); OnMarkersUpdated(); }