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