public WorldMapController( PanningPanel panningPanel, ViewModelControlWorldMap viewModelControlWorldMap, bool isEditorMap) { this.cancellationTokenSource = new CancellationTokenSource(); this.cancellationToken = CancellationTokenSource .CreateLinkedTokenSource(this.cancellationTokenSource.Token, Api.CancellationToken) .Token; this.panningPanel = panningPanel; this.viewModelControlWorldMap = viewModelControlWorldMap; this.IsEditorMap = isEditorMap; this.canvasMap = new Canvas(); this.canvasMapChildren = this.canvasMap.Children; this.canvasMapSectorControls = new Dictionary <Vector2Ushort, SectorControl>(); this.panningPanel.Items.Clear(); this.panningPanel.Items.Add(this.canvasMap); // create current character display this.CreateCurrentCharacterControl(); // create current camera view bounds display var controlCurrentCameraView = new Rectangle { Fill = new SolidColorBrush(Color.FromArgb(0x33, 0xFF, 0xFF, 0xFF)), Stroke = new SolidColorBrush(Color.FromArgb(0xCC, 0xFF, 0xFF, 0xFF)), StrokeThickness = 1 }; Panel.SetZIndex(controlCurrentCameraView, 10); if (this.IsEditorMap) { this.canvasMapChildren.Add(controlCurrentCameraView); } this.sceneObject.AddComponent <ClientComponentWorldMapCurrentCameraViewUpdated>() .Setup(this, controlCurrentCameraView, WorldTileTextureSize); // setup events WorldService.WorldChunkAddedOrUpdated += this.WorldChunkAddedOrUpdatedHandler; WorldService.WorldBoundsChanged += this.WorldBoundsChangedHandler; panningPanel.MouseLeftButtonClick += this.PanningPanelMouseLeftButtonClickHandler; panningPanel.PreviewMouseLeftButtonDown += this.PanningPanelPreviewMouseLeftButtonDownHandler; ClientUpdateHelper.UpdateCallback += this.Update; // init map this.InitMap(); }
public WorldMapControllerMiniMap( PanningPanel panningPanel, ViewModelControlWorldMap viewModelControlWorldMap, bool isPlayerMarkDisplayed, bool isListeningToInput, int paddingChunks, Vector2Ushort mapAreaSize) : base(panningPanel, viewModelControlWorldMap, isPlayerMarkDisplayed, isListeningToInput, paddingChunks) { this.mapAreaSize = mapAreaSize; }
public WorldMapControllerMiniMap( PanningPanel panningPanel, ViewModelControlWorldMap viewModelControlWorldMap, bool isPlayerMarkDisplayed, bool isCurrentCameraViewDisplayed, bool isListeningToInput, int paddingChunks, Vector2Ushort mapAreaSize, ControlTemplate customControlTemplatePlayerMark) : base(panningPanel, viewModelControlWorldMap, isPlayerMarkDisplayed, isCurrentCameraViewDisplayed, isListeningToInput, paddingChunks, customControlTemplatePlayerMark) { this.mapAreaSize = mapAreaSize; }
public WorldMapController( PanningPanel panningPanel, ViewModelControlWorldMap viewModelControlWorldMap, bool isPlayerMarkDisplayed, bool isCurrentCameraViewDisplayed, bool isListeningToInput, int paddingChunks, ControlTemplate customControlTemplatePlayerMark = null) { this.cancellationTokenSource = new CancellationTokenSource(); this.cancellationToken = CancellationTokenSource .CreateLinkedTokenSource(this.cancellationTokenSource.Token, Api.CancellationToken) .Token; this.panningPanel = panningPanel; this.viewModelControlWorldMap = viewModelControlWorldMap; this.isPlayerMarkDisplayed = isPlayerMarkDisplayed; this.isCurrentCameraViewDisplayed = isCurrentCameraViewDisplayed; this.isListeningToInput = isListeningToInput; this.paddingChunks = paddingChunks; this.customControlTemplatePlayerMark = customControlTemplatePlayerMark; this.canvasMap = new Canvas(); this.canvasMapChildren = this.canvasMap.Children; this.canvasMapSectorControls = new Dictionary <Vector2Ushort, SectorControl>(); this.panningPanel.Items.Clear(); this.panningPanel.Items.Add(this.canvasMap); // create current character display this.CreateCurrentCharacterControl(); // create current camera view bounds display var controlCurrentCameraView = new Rectangle { Fill = new SolidColorBrush(Color.FromArgb(0x55, 0xFF, 0xFF, 0xFF)), //Stroke = new SolidColorBrush(Color.FromArgb(0xCC, 0xFF, 0xFF, 0xFF)), //StrokeThickness = 1.5, UseLayoutRounding = false }; Panel.SetZIndex(controlCurrentCameraView, 10); if (this.isCurrentCameraViewDisplayed) { this.canvasMapChildren.Add(controlCurrentCameraView); } this.sceneObject.AddComponent <ClientComponentWorldMapCurrentCameraViewUpdater>() .Setup(this, controlCurrentCameraView, WorldMapTexturesProvider.WorldTileTextureSize); panningPanel.CallbackGetSliderZoomCanvasPosition = () => this.isAutocenterOnPlayer ? this.componentCurrentCharacterUpdater.CanvasPosition : (Vector2D?)null; // setup events World.WorldChunkAddedOrUpdated += this.WorldChunkAddedOrUpdatedHandler; World.WorldBoundsChanged += this.WorldBoundsChangedHandler; panningPanel.MouseHold += this.PanningPanelMouseHoldHandler; panningPanel.MouseLeftButtonClick += this.PanningPanelMouseLeftButtonClickHandler; panningPanel.ZoomChanged += this.PanningPanelZoomChangedHandler; ClientUpdateHelper.UpdateCallback += this.Update; // init map this.InitMap(); }