問題タブ [luainterface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1022 参照

c# - LuaInterface を使用して lua 関数を呼び出すときに返されるパラメーターを読み取る

DoString を呼び出したときに lua から返されたパラメーターを処理しようとしています。

luafunction は、最初のパラメーターとして nil、true または false を返し、2 番目のパラメーターとして文字列を返します。

パラメーターを c# bool および string 値として受け取る最良の方法は何ですか?

どうもありがとうございます!

0 投票する
1 に答える
634 参照

c# - C# LuaInterface クラスの演算子

私は C# で LuaInterface を使用しており、Lua で使用するカスタム C# クラスを「エクスポート」しました。例えば:

しかし、この例のようにクラス演算子を使用したい場合:

次のエラーが表示されます: ローカル 'p1' (ユーザーデータ値) で演算を実行しようとしています

クラスの C# バリアントには + 演算子があります。

Lua メタテーブルを利用して、たとえば * 演算子の "__mul" に関数を追加する必要があることはわかっています。しかし、LuaInterface はそれを自動的に行いませんか? そうでない場合、どうすればこれを自分で自動化できますか?

0 投票する
2 に答える
651 参照

c# - LuaInterface C# Metatables

I have some background lua codes and I load them on each startup, They work fine, But Is there any way I can convert them to C#?

Here Is my meta table codes:

It works fine, Here Is how currently my codes work:

Currently I search a Player.cs object using a void at my registering lua functions code, I don't have any special void or function on my C# code that has Player object on It, But I want to change all of them to Player object, Also Is there any way I can use the Player.cs voids/strings or anything from lua without registerting them? Player.cs objects are non-static.

0 投票する
1 に答える
124 参照

.net - .Net LuaInterface フック システム / イベント

LuaInterfaceを使用して.Netでフックシステムを作成できるかどうか疑問に思っています.このシステムはGarry's Modのようなものです.

これがどのように機能するかを理解しようとして、私はトラックで死んでいます...

ありがとう

0 投票する
1 に答える
694 参照

c# - luaインターフェースの問題

C# luainterface ライブラリにいくつか問題があります。

1.スクリプトをロードし、その関数を次のように抽出します。

しかし、同じ名前の関数を含む 2 つの異なるスクリプトをロードするとどうなるでしょうか。script1 と script2 から同じ名前の 2 つの異なる関数を抽出する方法は?

2.関数をメモリにロードする場合、すべての関数ではなく、特定の関数を破棄することはできますか?

3. Lua.DoFile メソッドを使用して、ファイルから特定の関数を実行したい。それを行う方法はありますか?

編集

2.私は、私がこのようなことができることを発見しました

しかし、何らかの理由で null 例外が発生します。理由はありますか?

0 投票する
1 に答える
2411 参照

c# - Lua でユーザーデータのプロパティとメソッドにアクセスする

LuaInterface でのユーザーデータ型へのアクセスに関して質問があります。C# ディクショナリを Lua に渡し、ipairs を使用してそれを繰り返し処理しようとすると、ipairs はユーザーデータ オブジェクトではなくテーブルを想定しているため、エラーが発生します。

解決策の 1 つは、Dictionary 型を LuaTable 型に変換してから Lua に渡すことだと思いますが、userdata 型を入れたい用途の 1 つは、Dictionary オブジェクトを Lua に取り込み、customType オブジェクトのフィールドを更新することです。 Lua でメソッドを呼び出します。これが可能かどうかはわかりませんが、その Dictionary を文字列と int の LuaTable に変換すると、Lua から customType と直接やり取りする機会が失われることは間違いありません。

Lua でのユーザーデータの操作に関する情報をオンラインで調べましたが、C/C++ を介した Lua とのインターフェイスと、よくわからないスタックを見つけたいくつかの例を見つけました。また、場合によっては sizeof メソッドが使用されますが、これは c# では簡単な代替手段がありません。誰かが私にいくつかの指針を教えてもらえますか? C のユーザー定義型に関する PIL セクションもあまり役に立ちませんでした。