私は C# で LuaInterface を使用しており、Lua で使用するカスタム C# クラスを「エクスポート」しました。例えば:
local myVector = Vector2(10, 100)
しかし、この例のようにクラス演算子を使用したい場合:
local v1 = Vector2(1, 1)
local v2 = Vector2(2, 2)
local v3 = v1 + v2
次のエラーが表示されます: ローカル 'p1' (ユーザーデータ値) で演算を実行しようとしています
クラスの C# バリアントには + 演算子があります。
public static cVector2 operator +(cVector2 vector1, cVector2 vector2)
{
return new cVector2(vector1.X + vector2.X, vector1.Y + vector2.Y);
}
Lua メタテーブルを利用して、たとえば * 演算子の "__mul" に関数を追加する必要があることはわかっています。しかし、LuaInterface はそれを自動的に行いませんか? そうでない場合、どうすればこれを自分で自動化できますか?