3
Type thistype = stringVar.GetType();
thistype myScript = gameObject.AddComponent(stringVar);

myScript.runCustomFunction();

これは機能しません。コンパイル時に (実行ではなく) 変数の型がわからない場合、変数の型にキャストできないため、追加したばかりのコンポーネントに直接アクセスできないためだと思います。

別のスクリプトからデフォルト値を取得し、それらを辞書に入れる gameItem クラスがあります。ディクショナリ エントリ「functionScript」、「myScript」に基づいて、myScript をオブジェクトにアタッチし、いくつかのディクショナリ エントリを渡す必要があります。

あるいは、非常に効率が悪く、アイテム クラスに myScript クラスの変数を要求することもできますが、これは避けたいと思います。

4

1 に答える 1