Ejemplo n.º 1
0
 public void ResetConnect()
 {
     ResponseHandleInvoker.Instance.ClearResponseQueue();
     ResponseHandleInvoker.Instance.IsPaused = false;
     HeartFPSManager.Instance.Clear();
     IpManager.InitServiceConfig();
     ServiceManager.DestorySockets();
     SingletonManager.Instance.Clear();
     NotifyManager.ClearEvents();
     ResetTaskInstance();
     RegisterEventHandler();
     UI.MainUI.EnegryColdWorkData.Instance.ResetEventHadels();
 }
Ejemplo n.º 2
0
    /// <summary>
    /// 场景转换处理
    /// </summary>
    /// <param name="notifyArgs"></param>
    void SceneChangeHandle(INotifyArgs notifyArgs)
    {
        PlayerManager.Instance.LockPlayOnSceneChange(false);
        //add by lee : stop player state
        PlayerManager.Instance.StopPlayersSkill();
        SMsgActionNewWorld_SC targetScene = (SMsgActionNewWorld_SC)notifyArgs;

        m_newWorldMsg = targetScene;
        //如果是需要换服,需要对一些数据进行管理
        switch ((eTeleportType)targetScene.byTeleportFlg)
        {
        case eTeleportType.TELEPORTTYPE_JUMPSERVER:
            HeartFPSManager.Instance.Clear();
            SingletonManager.Instance.Clear();
            NotifyManager.ClearEvents();
            EnegryColdWorkData.Instance.Re_registration();
            TownGuideManager.Instance.ResetEventHandler();
            RegisterEventHandler();
            break;
        }

        GameState targetSceneState = SceneManager.GetCurSceneState(targetScene.dwMapId);

        //TraceUtil.Log(SystemModel.Rocky, "下一个地图ID:" + targetScene.dwMapId);
        //TraceUtil.Log(SystemModel.Rocky, "下一个dwMapParam:" + targetScene.dwMapParam);

        this.GotoState(targetSceneState, true);
        int returnMapID = DealRequestEctypeSceneChange(targetScene);

        if (returnMapID != 0)
        {
            m_curSceneMapID = (uint)returnMapID;
        }
        else
        {
            //跳转生效//
            m_curSceneMapID = targetScene.dwMapId;
        }
        SceneDataManager.Instance.ResetMapTridderAreaInfo(m_curSceneMapID);
        //TraceUtil.Log(SystemModel.Rocky, "下一个地图ID(剧情过滤完成后):" + m_curSceneMapID);
        m_curSceneName     = EctypeConfigManager.Instance.SceneConfigList[(int)m_curSceneMapID]._szSceneName;
        IsLockOperatorMode = EctypeConfigManager.Instance.SceneConfigList[(int)m_curSceneMapID]._isLockMode;

        //TraceUtil.Log(SystemModel.Rocky, "下一个Scene Name:" + m_curSceneName);
    }