我正在尝试为游戏编辑器实现一个系统,其中它将在库中加载预定义的纹理。纹理使用该库已经能够读取的专有格式,但是当前仅支持使用指针地址和长度作为输入来做到这一点。
我目前已通过将纹理移到临时文件中来使其工作,但这是一个未优化的解决方法。我想知道是否有任何特别的方法来获取内部文件的地址,无论有没有流。这是我当前的(工作)代码,如有必要,我可以提供有关NodeFactory如何工作的其他信息,但主要是它需要一个地址和长度才能正常工作。
var resourceName = ("BrawlLib.HardcodedFiles.metal00.tex0");
string listDefault = "";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
string file;
FileStream fstream = new FileStream((file = Path.GetTempFileName()), FileMode.OpenOrCreate);
stream.CopyTo(fstream);
tNode = NodeFactory.FromFile(null, file) as TEX0Node;
Texture.Attach(tNode, _palette);
}