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(); }
/// <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); }