ユーザーがミニゲームのパックをダウンロードし、メインの.exeを変更せずに実行できるミニゲームのコレクションをXNAで作成するにはどうすればよいですか?


12

現在、XNAでPCゲームを作っています。これは実際にはミニゲームのコレクションです(現時点では3つのミニゲームがあります)が、ダウンロード可能な「パック」で作成して追加する予定です。

私の質問は、これを達成する最良の方法は何ですか?

現在、私の考えは次のとおりです。

  • 「ゲーム」インターフェースを作成する
  • このインターフェイスにゲームをビルドしますが、.dllとして作成します
  • メインの.exeファイルでディレクトリをスキャンし、実行時に.dllをロードします。

私はこのアイデアをあまりいじっていませんが、少なくともこのプラグインのアプローチを使用するアプリケーションがあることは知っています(Notepad ++はそうです)それらが存在する必要があります)。しかし、これは以前に解決された問題であると思われるので、確立されたベストプラクティスの形式があるかどうか疑問に思っています。

回答:


5

Windowsでは、アセンブリ(dll)を開いて型をインポートし、メソッドを実行することができます。アセンブリクラスのドキュメントを参照してください。

Xbox 360では、System.Reflectionにアクセスできません。ここでは、XBLAストアAPIに依存する必要があります。XBLIGアプリケーションでこの機能がどれだけ利用できるかわかりません。


ええ、.dllを(PCゲームだから)読み込むことができるのは知っていますが、これが最善の方法なのか、それとも確立されたベストプラクティスに反するのかどうか疑問に思っています
アンドリューソープ

+1これはプラグインをロードする標準的な方法です。プラグインアーキテクチャを検索します。参考までに、これは非常に良いソリューションです。
ashes999

1

Windows用のゲームを構築しているため、@ Ranieriが述べたように、完全なフレームワークにアクセスできます。アーキテクチャは堅実に聞こえます。ただし、Managed Extensibility FrameworkであるMEFをチェックインすることをお勧めします。アウトラインするワークフローがより合理化される可能性があります。私は自分で使ったことはありませんが、それについては良いことを読みました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.