我目前正在試驗Xna內容管道擴展。在那個實驗中,我試圖加載一個包含另一個需要加載的「內容項」的文件。例如:Xna內容管道擴展 - 在自定義處理器中加載其他內容
public class CustomItem
{
public string Name;
public Texture2D Texture;
}
現在,在我的內容處理器,我可以創造「定製項目」的一個新實例並初始化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 ...
有誰知道這其實是可能的,如果是這樣,怎麼做呢?如果可能的話,我寧願不要延遲加載其他內容項目的路線,也不要使用二進制閱讀器和編寫器創建自己的自定義內容加載。
爲快速回復而歡呼。我曾經在某處讀過關於Texture2DContent的內容,但希望能有更好的方法去實現它。儘管如此,這篇文章真的很好解釋,所以我完全理解它。 –