private static LevelMapXMLData CreateMapData(DBLayoutPanel layout)
        {
            int index = 0;

            TileXMLData[] tiles = new TileXMLData[layout.Controls.Count];
            for (int row = 0; row < layout.RowCount; row++)
                for (int col = 0; col < layout.ColumnCount; col++)
                {
                    Tile c = layout.GetControlFromPosition(col, row) as Tile;

                    if (c.Color == null)
                        c.Color = new Color(255, 255, 255);

                    tiles[index] = new TileXMLData
                    {
                        Coordinates = new Vector2((col * c.Width), (row * c.Height)),
                        Dimensions = new Vector2(c.Width, c.Height),
                        TexturePath = "Tiles\\" + TrimExtension(c.TexturePath),
                        SoundEffectPath = c.SoundFxPath,
                        Color = c.Color,
                        Solid = c.Solid,
                        Empty = c.Empty
                    };
                    index++;
                }

            LevelMapXMLData mapData = new LevelMapXMLData();
            mapData.TileMapData = tiles;
            mapData.TilesAcross = layout.ColumnCount;
            mapData.TilesDown = layout.RowCount;

            return mapData;
        }
Example #2
0
 public Tile(TileXMLData tileData)
 {
     this.Row = (int)tileData.Coordinates.X;
     this.Column = (int)tileData.Coordinates.Y;
     this.Width = (int)tileData.Dimensions.X;
     this.Height = (int)tileData.Dimensions.Y;
     this.Color = tileData.Color;
     this.TexturePath = tileData.TexturePath;
     this.SoundFxPath = tileData.SoundEffectPath;
     this.Solid = tileData.Solid;
     this.Empty = tileData.Empty;
     this.Image = System.Drawing.Image.FromFile(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) + "\\"+this.TexturePath + ".png");
 }