C# LuaInterface随机异常
我正在使用LuaInterface在我正在制作的游戏中编写脚本 脚本编写工作得很好,但不知何故,我遇到了很多随机异常 我已经将问题缩小到从C#code调用lua函数的地方,这些函数从另一个线程调用,处理与游戏服务器的联网 我认为正在发生的是,lua代码正在运行,lua函数从另一个线程的C#调用,这导致了随机错误 我如何从C#调用函数: 函数是LuaFunction类型,消息是自定义对象 我得到的错误是:C# LuaInterface随机异常,c#,lua,luainterface,C#,Lua,Luainterface,我正在使用LuaInterface在我正在制作的游戏中编写脚本 脚本编写工作得很好,但不知何故,我遇到了很多随机异常 我已经将问题缩小到从C#code调用lua函数的地方,这些函数从另一个线程调用,处理与游戏服务器的联网 我认为正在发生的是,lua代码正在运行,lua函数从另一个线程的C#调用,这导致了随机错误 我如何从C#调用函数: 函数是LuaFunction类型,消息是自定义对象 我得到的错误是: “LuaInterface.LuaScriptException”类型的第一次意外异常 发
- “LuaInterface.LuaScriptException”类型的第一次意外异常 发生在LuaInterface.dll中
- 运行lua:函数时出错
- “LuaInterface.LuaScriptException”类型的第一次意外异常 发生在LuaInterface.dll中
- 无法打开脚本:主菜单/控制台
这可能与从创建LuaVM的线程以外的线程运行lua函数有关吗?lua不是线程安全的。您需要为每个线程设置一个Lua状态并调用特定于线程的状态,或者在任何Lua调用周围设置锁。多亏BMitch指出了这一点,问题确实出在线程上 我已经修复了这个问题,让消息线程将带有参数的函数传递给主线程,然后主线程在更新方法中调用它们。“不可预见的异常”,好的。“未知异常”,好的。“随机异常”。
function.Call(message);