UnityEvent GUIに触発された Unity カスタムEditorWindowで関数を選択するための GUI を作成しています。UnityEvent自体を動作させることができません。EditorGUILayout.PropertyFieldを使用し、UnityEventメンバーをシリアル化されたプロパティとして参照すると、空のフォールドアウトが生成されます。
機能する関数を選択しましたが、ユーザーが関数のパラメーター引数を指定できるようにする方法がわかりません。
using System.Reflection;
int functionIndex = 0;
MethodInfo[] methods = typeof(LvlGenFunctions).GetMethods(BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly);
string methodNames = new string[methods.Length];
for(int i = 0; i < methods.Length; ++i)
{
methodNames[i] = methods[i].Name;
}
functionIndex = EditorGUILayout.Popup(functionIndex, methodNames);
methods[functionIndex].Invoke(null, null);
ParameterInfoとParameterTypeを取得できますが、入力 GUI フィールドを作成して適切なパラメーター引数を指定する方法がわかりません。
タイプがリフレクションによって決定されるパラメーターの Unity IMGUI 入力フィールドを作成するにはどうすればよいですか?