这样的课程有必要吗?
public class ContentCache
{
private readonly ContentManager _content;
private readonly Dictionary<string, Texture2D> _textureCache = new Dictionary<string, Texture2D>();
public ContentCache(ContentManager content)
{
_content = content;
}
public Texture2D Load(string assetName)
{
Texture2D texture = null;
if (!_textureCache.TryGetValue(assetName, out texture))
{
_textureCache[assetName] =
texture = _content.Load<Texture2D>(assetName);
}
return texture;
}
}
我很好奇ContentManager.Load<Texture2D>()
它是否在内部有自己的缓存。我不想双重缓存东西。
笔记:
我们的 XNA 游戏是 2D 的,可以在 WP7 和 Windows 以及 iOS 和 OSX 上使用MonoGame 运行。
MonoGame在 Windows 中的功能可能与 XNA 不同,但我可能可以浏览它的源代码来找出答案。