コード例 #1
0
 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);
         }
     }
 }
コード例 #2
0
        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());
            }
        }