private void mnuShowMaps_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { _showMaps = !_showMaps; this.SetMenuHighlight(bdrShowMaps, _showMaps); ctlMapBorders.Children.Clear(); if (_showMaps) { foreach (var map in Game.Maps) { MapBorder border = new MapBorder(); border.Width = map.Width * Tile.TileWidth; border.Height = map.Height * Tile.TileHeight; border.SetValue(Canvas.LeftProperty, map.StartX * Tile.TileWidth); border.SetValue(Canvas.TopProperty, map.StartY * Tile.TileHeight); border.BorderResized += new EventHandler(border_BorderResized); ctlMapBorders.Children.Add(border); } } }
private void border_BorderResized(object sender, EventArgs e) { MapBorder border = sender as MapBorder; Rect bounds = border.Bounds; var map = Game.Maps.Where(m => (bounds.X >= m.StartX && bounds.X <= m.EndX) && (bounds.Y >= m.StartY && bounds.Y <= m.EndY)).FirstOrDefault(); if (map != null) { RdlTag tag = new RdlTag("MAP", "MAP"); tag.Args.Add(map.Name); tag.Args.Add(map.Width); tag.Args.Add(map.Height); tag.Args.Add(map.StartX); tag.Args.Add(map.StartY); tag.Args.Add(map.EndX); tag.Args.Add(map.EndY); // TODO: Save Map //BuilderServiceClient client = ServiceManager.CreateBuilderServiceClient(); //client.SaveMapCompleted += new EventHandler<SaveMapCompletedEventArgs>(client_SaveMapCompleted); //client.SaveMapAsync(_token, tag.ToString()); } }