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; }
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"); }