public IEnumerable<IMapSquare> EnumerateSquares()
{
if(Type == MapType.Map2D)
{
foreach(Tile t in TileData)yield return t;
}else if(Type == MapType.Map3D)
{
foreach(Block b in BlockData)yield return b;
}
}