作成中のゲームでスクリプトを作成するために LuaInterface を使用しています。
スクリプトは非常にうまく機能しますが、どういうわけか、ランダムな例外がたくさん発生します。
ゲームサーバーとのネットワークを処理する別のスレッドから呼び出される C# コードから lua 関数を呼び出す場所に問題を絞り込みました。
何が起こっていると思いますが、lua コードが実行されており、lua 関数が C# から別のスレッドから呼び出されているため、ランダム エラーが発生しています。
C# から関数を呼び出す方法:
function.Call(message);
function は LuaFunction 型で、 message はカスタム オブジェクトです。
私が得ているエラー:
- タイプ 'LuaInterface.LuaScriptException' の初回例外が LuaInterface.dll で発生しました
- lua の実行中にエラーが発生しました: 関数
- タイプ 'LuaInterface.LuaScriptException' の初回例外が LuaInterface.dll で発生しました
- スクリプトを開けません: mainmenu/console
LuaVM が作成されたスレッド以外のスレッドから lua 関数を実行することに関係があるのでしょうか?