示例#1
0
    private void OnDestroy()
    {
#if !UNITY_EDITOR
        try
        {
#endif

        Instance = null;
        PlayCG.Instance.Reset();
        UIManager.Instance.Destroy();
        //ObjManager.Instance.RemoveAllObj();
        ObjManager.Instance.Reset();
        ComplexObjectPool.Destroy();
        GuideManager.Instance.StopGuiding();

        EventDispatcher.Instance.RemoveEventListener(DungeonCompleteEvent.EVENT_TYPE, OnDungeonComplete);

#if !UNITY_EDITOR
    }
    catch (Exception ex)
    {
        Logger.Error(ex.ToString());
    }
#endif
    }
示例#2
0
    private void OnDestroy()
    {
#if !UNITY_EDITOR
        try
        {
#endif

        try
        {
            GuideManager.Instance.StopGuiding();
        }
        catch (Exception e)
        {
            Logger.Error(e.Message);
        }

        try
        {
            PlayCG.Instance.Reset();
        }
        catch (Exception e)
        {
            Logger.Error(e.Message);
        }

        try
        {
            if (null != HeadBoardManager.Instance)
            {
                HeadBoardManager.Instance.Cleanup();
            }
            if (null != DamageBoardManager.Instance)
            {
                DamageBoardManager.Instance.Cleanup();
            }
            if (null != GainItemTipManager.Instance)
            {
                GainItemTipManager.Instance.Cleanup();
            }
            if (null != UIHintBoardManager.Instance)
            {
                UIHintBoardManager.Instance.Cleanup();
            }
            ResetTimeScale();
        }
        catch (Exception e)
        {
            Logger.Error(e.Message);
        }


        try
        {
            UIManager.Instance.ClearUI();
        }
        catch (Exception e)
        {
            Logger.Error(e.Message);
        }

        try
        {
            ObjManager.Instance.Reset();
        }
        catch (Exception e)
        {
            Logger.Error(e.Message);
        }

        try
        {
            ComplexObjectPool.Destroy();
        }
        catch (Exception e)
        {
            Logger.Error(e.Message);
        }

        try
        {
            if (null != UIManager.Instance && null != UIManager.Instance.UICamera)
            {
                var rt = UIManager.Instance.UICamera.GetComponent <RenderTextureCreator>();
                if (null != rt)
                {
                    rt.enabled = false;
                }
            }
        }
        catch (Exception e)
        {
            Logger.Error(e.Message);
        }



        EventDispatcher.Instance.RemoveEventListener(DungeonCompleteEvent.EVENT_TYPE, OnDungeonComplete);

        Instance = null;
        HasCache = false;

#if !UNITY_EDITOR
    }

    catch (Exception ex)
    {
        Logger.Error(ex.ToString());
    }
#endif
    }