XNAゲーム用のコンテンツエディターを作成していて、コンテンツリーダーとライターの準備ができています。私のエディターでは、フォルダー内のすべてのファイルを繰り返し処理して、エディターウィンドウにオブジェクトのリストを表示します。設定は完了しましたが、コンテンツフォルダのファイルリストを取得した後の作業に固執しています。
すべてのファイルにはXNB拡張子が付いており、それらを読み取る唯一の(ハッキーではない)方法は、XNAコンテンツリーダーを使用することです。ただし、ファイルを1つずつロードしてそれぞれをロードしようとせずに、ファイルのコンテンツタイプ(マップ、ゲームオブジェクトテンプレート、または私が定義した他の多くのタイプのファイル)を事前に知りたいです。可能なコンテンツタイプのそれぞれで、それは事実上不可能です(または、たとえば、これまでで最悪のプログラミング慣行)。
この機能のようなものを取得するにはどうすればよいですか?
ContentManager.ContentTypeOf(string assetPath);
これは型を返すので、何をどこにロードするか(ロードしないか)を事前に知ることができます。単一のオブジェクトテンプレートを編集するためだけにゲームのすべてのマップをロードすることはお勧めできません。コンテンツファイルの種類を区別するための実用的な方法が必要です。