Skip to content

使用两个LuaEnv遇到的问题 #257

Closed
@forsakenyang

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宏,依旧会出这个问题

issue

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions