Tilset importer fix for external .tsx tilesets

This commit is contained in:
Ravenheart
2015-10-05 22:35:42 +03:00
parent 49e64c9d98
commit ac8d3c2e2e
@@ -12,8 +12,24 @@ namespace MonoGame.Extended.Content.Pipeline.Tiled
using (var reader = new StreamReader(filename))
{
var serializer = new XmlSerializer(typeof(TmxMap));
return (TmxMap)serializer.Deserialize(reader);
var map = (TmxMap)serializer.Deserialize(reader);
XmlSerializer xml = new XmlSerializer(typeof(TmxTileset));
for (int i = 0; i < map.Tilesets.Count; i++)
{
var tileset = map.Tilesets[i];
if (!string.IsNullOrWhiteSpace(tileset.Source))
{
string dir = Path.GetDirectoryName(filename);
string tilesetLocation = tileset.Source.Replace('/', Path.DirectorySeparatorChar);
string filePath = Path.Combine(dir, tilesetLocation);
using (FileStream file = new FileStream(filePath, FileMode.Open))
map.Tilesets[i] = (TmxTileset)xml.Deserialize(file);
}
}
return map;
}
}
}
}
}