C# から Lua 関数にアクセスする LuaInterface に問題があります。
このように定義された LuaFunction がある場合
function object:OnEvent()
-- Do something
end
これは、次のような通常の呼び出しによる C# からのアクセスである可能性があります
(object["OnEvent"] as LuaFunction).Call();
パラメータなし。しかし、Lua での関数の定義を見ると、「:」を使用して関数を定義しています。このように書き直すことができますが、これは同じです。
function object.OnEvent(self)
-- Do something
end
これまでのところ、すべて問題ありません。しかし今、OnEvent を別の関数に置き換えます。
function Replacement(self)
-- Do something other
end
object.OnEvent = Replacement
そして今、私は問題を抱えています。この場合、(自分用の) パラメータを指定して関数を呼び出す必要がありました。これを行わないと、エラーが発生します。
この問題は、次の 2 つの方法で解決できます。
- LuaInterface は、毎回 ":" を使用して自分自身のパラメーターを使用してメソッドを呼び出す必要があるとします。
- この関数が必要とするパラメーターの数を LuaInterface から取得できます。
しかし、このことの1つをどのように行うのですか?
ありがとうございました。