Exemplo n.º 1
0
    public static void TryDoReset()
    {
        if (!doing)
        {
            return;
        }

        //注销回调
        //SceneManager.sceneUnloaded -= OnSceneUnloaded;

        //TODO: Object Pool, timer or something


        //通知lua
        var lfunc = LuaManager.Instance.GetLuaFunction("EngineBeforeDispose");

        if (lfunc != null)
        {
            try
            {
                lfunc.Action();
            }
            catch (Exception e)
            {
                Debug.LogError(e);
            }
        }


        //清理单件
        LuaManager.DoDispose();
        BundleManager.DoDispose();


        //
        doing = false;
        //自己最后清理
        EngineResetManager.DoDispose();


        Debug.Log("Engine Reset Success!");
    }