private static List <TiledMapTileContent> DecodeTileLayerData(string encodingType,
                                                                      TiledMapTileLayerContent tileLayer)
        {
            List <TiledMapTileContent> tiles;

            switch (encodingType)
            {
            case "xml":
                tiles = tileLayer.Data.Tiles;
                break;

            case "csv":
                tiles = DecodeCommaSeperatedValuesData(tileLayer.Data);
                break;

            case "base64":
                tiles = DecodeBase64Data(tileLayer.Data, tileLayer.Width, tileLayer.Height);
                break;

            default:
                throw new NotSupportedException($"The tile layer encoding '{encodingType}' is not supported.");
            }

            return(tiles);
        }
Ejemplo n.º 2
0
        // ReSharper disable once SuggestBaseTypeForParameter
        private static void WriteTileLayer(ContentWriter writer, TiledMapTileLayerContent tileLayer)
        {
            writer.Write(tileLayer.Width);
            writer.Write(tileLayer.Height);

            writer.Write(tileLayer.Tiles.Length);

            foreach (var tile in tileLayer.Tiles)
            {
                writer.Write(tile.GlobalTileIdentifierWithFlags);
                writer.Write(tile.X);
                writer.Write(tile.Y);
            }
        }