started fixing relative path issues with bitmap fonts

This commit is contained in:
Dylan Wilson
2015-09-25 08:20:23 +10:00
parent 49a1ec130c
commit 4ea3fdae4c
6 changed files with 32 additions and 22 deletions
@@ -10,6 +10,7 @@ namespace MonoGame.Extended.BitmapFonts
{
protected override BitmapFont Read(ContentReader reader, BitmapFont existingInstance)
{
var relativeAssetFolder = GetRelativeAssetFolder(reader.AssetName);
var textureAssetCount = reader.ReadInt32();
var assets = new List<string>();
@@ -20,7 +21,7 @@ namespace MonoGame.Extended.BitmapFonts
}
var textures = assets
.Select(i => reader.ContentManager.Load<Texture2D>(i))
.Select(assetName => reader.ContentManager.Load<Texture2D>(relativeAssetFolder + assetName))
.ToArray();
var lineHeight = reader.ReadInt32();
@@ -44,5 +45,15 @@ namespace MonoGame.Extended.BitmapFonts
return new BitmapFont(regions, lineHeight);
}
private string GetRelativeAssetFolder(string assetPath)
{
var pathNodes = assetPath.Split(new[] {'\\', '/'});
if (pathNodes.Length > 1)
return string.Join("/", pathNodes.Take(pathNodes.Length - 1).ToArray()) + "/";
return string.Empty;
}
}
}