Example #1
0
        private MapPanel GenerateMapPanelForRoom(Map map, Room room)
        {
            MapPanel panel = new MapPanel();

            panel.Anchor = AnchorStyles.Left | AnchorStyles.Top;
            panel.BackColor = System.Drawing.SystemColors.ControlDark;
            panel.Font = new System.Drawing.Font("Consolas", 8F);
            panel.Location = new System.Drawing.Point(room.X * map.GridSize, room.Y * map.GridSize);
            panel.Margin = new System.Windows.Forms.Padding(0);
            panel.Size = new System.Drawing.Size(room.Width * map.GridSize, room.Height * map.GridSize);
            panel.MouseDown += new MouseEventHandler(panel_MouseDown);
            panel.MouseUp += new MouseEventHandler(panel_MouseUp);
            panel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.mapPanel_MouseMove);
            panel.MouseClick += new MouseEventHandler(HandleMapPanelClick);
            panel.MouseEnter += new EventHandler(mapPanel_MouseEnter);
            panel.MouseLeave += new EventHandler(mapPanel_MouseLeave);
            panel.KeyDown += new KeyEventHandler(HandleKeyDownForMapPanel);

            panel.Map = map;
            panel.Tiles = null;
            panel.Room = room;

            return panel;
        }
Example #2
0
        void HandleMapPanelClick(object sender, MouseEventArgs e)
        {
            var mapPanel = sender as MapPanel;

            if (mapPanel != null)
            {
                SelectedMapPanel = mapPanel;
                SelectedMapPanel.Focus();
                SelectedMapPanel.BringToFront();
                PerformToolOperation(sender, e);
            }
        }
Example #3
0
        private void BeginEditingMap(string mapFilePath)
        {
            Map map = LoadMapFromFile(mapFilePath);

            TileSet tileSet = LoadTileSetFromFile(map.TileSet);

            this.mapData = map;
            this.tileData = tileSet;
            this.selectedTile = null; // TODO: Set this to the first tile?
            tileSetPanel1.TileSet = tileSet;

            var panels = GeneratePanelsForMap(map);

            if (panels != null)
            {
                this.gridPanel.Controls.Clear();

                foreach (MapPanel panel in panels)
                {
                    panel.Map = this.mapData;
                    panel.Tiles = this.tileData;
                    this.gridPanel.Controls.Add(panel);
                }

                // this.gridPanel.Controls.Add(tileLocationPanel);
            }

            if (panels.Count > 0)
            {
                SelectedMapPanel = panels[0];
            }

            undoBuffer.Clear();
            redoBuffer.Clear();
        }