public override void Exit() { base.Exit(); ActorModelCullManager.GetInstance().Reset(); foreach (var behaviour in Behaviours) { behaviour.Value.Exit(); } Game.GetInstance().UnsubscribeNetNotify(NetMsg.MSG_NWAR_INIT_INFO, HandleServerData); Game.GetInstance().UnsubscribeNetNotify(NetMsg.MSG_NWAR_ALL_READY, HandleServerData); //ClientEventMgr.Instance.UnsubscribeClientEvent((int)ClientEvent.CE_STATUS_TRANSFER_AUTO_ENDED, OnPlayerTransferAutoEnded); InstanceManager.GetInstance().InstanceInfo = null; InstanceManager.GetInstance().MapInfo = null; Actor player = Game.GetInstance().GetLocalPlayer(); if (player == null) { return; } player.gameObject.transform.parent = null; //player.enabled = true; }
public override void Enter(params object[] param) { if (mInitChildState != null) { this.SetChild(mInitChildState); } else { GameDebug.LogError("LuaInstanceState's Child State is null."); } m_PlayerAttributes = new Dictionary <UnitID, ActorAttributeData>(); Game.GetInstance().SubscribeNetNotify(NetMsg.MSG_NWAR_INIT_INFO, HandleServerData); Game.GetInstance().SubscribeNetNotify(NetMsg.MSG_NWAR_ALL_READY, HandleServerData); //ClientEventMgr.Instance.SubscribeClientEvent((int)ClientEvent.CE_STATUS_TRANSFER_AUTO_ENDED, OnPlayerTransferAutoEnded); // 重设Input的引用计数 GameInput.Instance.ResetInputRef(); UnityEngine.EventSystems.EventSystem eventSys = xc.ui.ugui.UIManager.Instance.MainCtrl.EventSystemCom; if (eventSys != null) { eventSys.enabled = GameInput.Instance.GetEnableInput(); } // 等map load之后才能移动 GameInput.Instance.EnableInput(false); uint instanceID = SceneHelp.Instance.CurSceneID; // 配置表信息 var dbInstance = DBManager.GetInstance().GetDB <DBInstance>(); var dbMap = DBManager.GetInstance().GetDB <DBMap>(); InstanceManager.GetInstance().InstanceInfo = dbInstance.GetInstanceInfo(instanceID); InstanceManager.GetInstance().MapInfo = dbMap.GetMapInfo(SceneHelp.GetFirstMapIdByInstanceId(instanceID)); foreach (var behaviour in Behaviours) { behaviour.Value.Enter(param); } ActorModelCullManager.GetInstance().Reset(); InstanceManager.Instance.ResetInstanceData(); base.Enter(param); }
/// <summary> /// 游戏数据重置,在断线重连时ignore_reconnect设置为true /// </summary> /// <param name="ignore_reconnect"></param> public void Reset(bool ignore_reconnect = false) { mAllSystemInited = false; // 初始化单件对象,在计时器、表格和网络数据初始化之后 if (ignore_reconnect == false) { TimerManager.GetInstance().Reset(); } DecimalTimerManager.GetInstance().Reset(); UIManager.GetInstance().Reset(); NpcManager.GetInstance().Reset(); ItemManager.GetInstance().Reset(ignore_reconnect); DialogManager.GetInstance().Reset(); InstanceManager.GetInstance().Reset(ignore_reconnect); InstanceDropManager.GetInstance().Reset(); LocalPlayerManager.Instance.Reset(ignore_reconnect); RedPointDataMgr.Instance.Reset(); LockIconDataMgr.Instance.Reset(); NewMarkerDataMgr.Instance.Reset(); if (ignore_reconnect == false) { RockCommandSystem.Instance.Reset(); } CooldownManager.Instance.Reset(); ShadowManager.Instance.Reset(); GuideManager.GetInstance().Reset(); SysConfigManager.GetInstance().Reset(); SysPreviewManager.GetInstance().Reset(); CullManager.GetInstance().Reset(); MailManager2.Instance.Reset(); LockTargetManager.Instance.Reset(); InterObjectManager.Instance.Reset(); FriendsManager.Instance.Reset(ignore_reconnect); TeamManager.Instance.Reset(ignore_reconnect); SkillHoleManager.Instance.Reset(); SkillManager.Instance.Reset(); TimelineManager.Instance.Reset(); TaskManager.Instance.Reset(); HookSettingManager.Instance.Reset(); ShieldManager.Instance.Reset(); GuildLeagueManager.Instance.Reset(); MarryManager.Instance.Reset(); SpanServerManager.Instance.Reset(); if (ignore_reconnect == false) { UINotice.GetInstance().Reset(); NetReconnect.Instance.Reset(); } DBGuide db_guide = DBManager.GetInstance().GetDB <DBGuide>(); db_guide.Reset(); DBGuideStep db_guide_step = DBManager.GetInstance().GetDB <DBGuideStep>(); db_guide_step.Reset(); LuaScriptMgr.Instance.Reset(ignore_reconnect); CustomDataMgr.Instance.Reset(); ChargeManager.Instance.Reset(); AudioManager.Instance.Reset(); }