我正在为 XNA 游戏构建内容编辑器,并且已经准备好内容阅读器和编写器。在我的编辑器中,我将遍历文件夹中的所有文件以在我的编辑器窗口中显示对象列表。我已经设置好了东西,但是在获取我的内容文件夹的文件列表后,我一直坚持要做的事情。
所有文件都有 XNB 扩展名,读取它们的唯一(非 hacky)方法是使用 XNA 内容阅读器。但是我想提前知道文件的内容类型(是地图还是游戏对象模板,还是我定义的许多其他类型的任何东西),而不是一个一个地加载它们并尝试加载每个对于每种可能的内容类型,这实际上是不可能的(或者说,有史以来最糟糕的编程实践)。
我怎样才能得到这样的功能:
ContentManager.ContentTypeOf(string assetPath);
它返回一个类型,所以我可以提前知道在哪里加载(而不是加载)什么。仅仅为了编辑单个对象模板而加载游戏的所有地图并不是一个好主意。必须有一种实用的方法来区分内容文件的类型。