私はC#で書かれた小さなゲームを持っています。データベースをバックエンドとして使用します。トレーディングカードゲームなので、カードの機能をスクリプトとして実装したかったのです。
つまり、私は基本的にICard
、カードクラスが(public class Card056: ICard
)を実装し、ゲームによって呼び出される関数を含むインターフェイスを持っているということです。
さて、物事を保守可能/変更可能にするために、データベースにソースコードとして各カードのクラスを用意し、基本的に最初の使用時にコンパイルしたいと思います。したがって、カードを追加/変更する必要がある場合は、データベースに追加して、アセンブリの展開を必要とせずにアプリケーションに更新するように指示します(特に、カードごとに1つのアセンブリ、つまり数百のアセンブリについて話しているため) 。
それは可能ですか?ソースファイルからクラスを登録してからインスタンス化するなど。
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
言語はC#ですが、任意の.NET言語でスクリプトを記述できる場合は、追加のボーナスがあります。