私はVSのMonoGameでゲームを構築しています。 MonoGame(XNBファイルを生成する)からコンテンツパイプラインを使用しています。Content ManagerですべてのXNBファイルをスキャンするにはどうすればよいですか?
私のゲームは拡張性があります(ユーザーが曲/チャートをダウンロードできるリズムゲームです)。だから私は "プラグイン" XNBファイルをサポートしなければならなかった。
私はカスタムタイプのカスタムインポータ/リーダ/ライタを既に作成していますが、利用可能なxnbを見つけるためにコンテンツフォルダをスキャンする方法が見つかりません。たとえば、ユーザーがContentフォルダにSong1.xnbを追加した場合、ファイルがそこにあることを(プログラムで)どのように知ることができますか?
ContentManagerにshowFilesまたはscanContentが見つかりませんでした。使用可能なすべてのファイルがリストされています。どのようにしてクロスプラットフォームのコンテンツフォルダにあるファイルを見つけることができますか?私の構造の
例:
Content
- Songs
- Song0
- 0.xnb
- 1.xnb
- Song0.xnb
- Song1
- 0.xnb
- Song0.xnb
だから私の歌フォルダは常に(曲のための構造を持っているファイル.xnb {フォルダ}を有し、またX.xnbに対する基準(0、 1,2 ...))。しかし、どのフォルダが存在するのかわかりません曲フォルダです。Load<Music>("Songs\\{SongFolder}\\{SongFolder}.xnb")
ありがとう!
奇妙なが含まれ、それがここで働くことseensしません。私はContent.RootDirectoryに\が存在しないので(これはちょうど "Content"です)、Directory.GetFiles(Content.RootDirectory)は何も返しません。 –
私の間違いです。私はGetFilesがファイルを返すだけで、私が探していたフォルダにファイルがないことに気づいていませんでした。 GetDirectoriesを使用すると効果がありました。ありがとう! –