2

私は 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 はそれを自動的に行いませんか? そうでない場合、どうすればこれを自分で自動化できますか?

4

1 に答える 1