我目前正在试验 Xna 内容管道扩展。在该实验中,我正在尝试加载一个包含另一个需要加载的“内容项”的文件。例如:
public class CustomItem
{
public string Name;
public Texture2D Texture;
}
现在,在我的内容处理器中,我可以创建一个新的“CustomItem”实例并初始化 Name 字段,因为它只是一个字符串。但是,我无法在内容编译期间加载纹理文件(注意:纹理只是一个示例,理想情况下我希望能够加载任何其他内容类型)。
我正在寻找的是这样的:
// ... start class ...
public override CustomItem Process(SomeInputFormat input, ContentProcessorContext context)
{
return new CustomItem()
{
Name = input.ItemName,
Texture = context.LoadAsset<Texture2D>(input.ItemTexturePath) // I realise LoadAsset<T>() does not exist - it's an example of what would be ideal
};
}
// ... end class ...
有谁知道这是否真的可行,如果可以,该怎么做?如果可能的话,我宁愿不走延迟加载其他内容项的路线,或者使用二进制读取器和写入器创建我自己的自定义内容加载。