Ejemplo n.º 1
0
        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;
        }