Exemple #1
0
    private void DoDestroy(bool disposeGRoot = true)
    {
        // 销毁UI残余界面,否则可能UI组件引用着LUA中的回调函数
        // 就会导致销毁lua虚拟机时抛异常
        FairyGUI.Timers.inst.Clear();
        FairyGUI.GRoot.inst.CleanupChildren();

        if (disposeGRoot)
        {
            FairyGUI.GRoot.inst.Dispose();
        }

        // 最后销毁大厅模块
        if (lobby != null)
        {
            lobby.OnDestroy();
            lobby = null;
        }

        if (gameLuaEnv != null)
        {
            gameLuaEnv.Dispose();
        }

        if (lobbyLuaEnv != null)
        {
            lobbyLuaEnv.Dispose();
        }
    }