Closed
Description
我们项目使用的是类似游戏大厅+子游戏的结构,所以需要同时支持两个LuaEnv的存在,以下简称Hall和Game。在Hall启动之后,玩家选择一个子游戏,启动一个Game(Hall不释放)。
在游戏过程中,Game会启动一个coroutine以维持连接,每帧都会调用并判断C#对象的session.IsConnected。在大约几分钟后,就会抛出InvalidCastException,异常报在session的Wrap内的_g_get_IsConnected,是因为translator.FastGetCSObj获取的就不是session对象的类型。调试发现是传入L的参数错了,它指向的是Hall下的某个对象,具体日志请看截图附件:
注:加了THREAD_SAFE宏,依旧会出这个问题
Metadata
Assignees
Labels
No labels