| Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Main.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Manager/StageManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Equip/EquipModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Equip/ItemsOnFloor.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -12,10 +12,12 @@ public static event Action switchAccountEvent; public static bool isAfterPlayerDataInitialize = false; //可区分断线重连还是完全重登; 切到登录场景会重置为false,故可判断断线重连 public static uint playerIdBuf = 0; public static ulong loginPackUID; //登录的封包起始,断线重连等用于过滤旧包(如主线战斗会收集) public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); loginPackUID = vNetPack.packUID; Debug.LogFormat("0102 主工程 DTCDone:{0}", vNetPack.ToString()); var package = vNetPack as H0102_tagCDBPlayer; // StageLoadTimeOutCatcher.RecordProtocol(vNetPack.socketType, "0102", DateTime.Now); Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs
@@ -27,10 +27,10 @@ if (!finishedLogin) { finishedLogin = true; //服务端每次切场景都会通知这个封包, 增加首次地图登录成功事件(如果服务端存在多场景切换的情况) playerLoginOkEvent?.Invoke(); } finishedLogin = true; if (PlayerDatas.Instance.baseData.UseHarmerCount == 0) { //防范请求 Main/Main.cs
@@ -38,8 +38,6 @@ #endif StageManager.Instance.ToLoginScene(); ClearGameData(); } public static async UniTask InitManagers() @@ -111,6 +109,7 @@ { // 前面有重新InitManagers了 这里就不在做清除 // ReleaseMgrs(); ClearGameData(); } private static void ReleaseMgrs() Main/Manager/StageManager.cs
@@ -48,6 +48,7 @@ Main.OnSwitchToLoginScene(); currentStage = StageName.Login; UIManager.Instance.OpenWindow<LaunchBackGroundWin>(); UIManager.Instance.OpenWindow<LoginWin>(); } @@ -59,6 +60,7 @@ SceneManager.LoadSceneAsync("Login"); Main.OnSwitchToLoginScene(); currentStage = StageName.Login; UIManager.Instance.OpenWindow<LaunchBackGroundWin>(); UIManager.Instance.OpenWindow<LoginWin>(); Main/System/Equip/EquipModel.cs
@@ -32,7 +32,7 @@ public override void Init() { DTCA814_tagMCMakeItemAnswer.MakeItemAnswerEvent += OnEquipResult; DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += BeforePlayerDataInitialize; DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitialize; EventBroadcast.Instance.AddListener<string, BattleDrops, Action>(EventName.BATTLE_DROP_ITEMS, OnDropEvent); EventBroadcast.Instance.AddListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast); EventBroadcast.Instance.AddListener<string>(EventName.RECORDPLAYER_END, RecordPlayerEnd); @@ -42,7 +42,7 @@ public override void Release() { DTCA814_tagMCMakeItemAnswer.MakeItemAnswerEvent -= OnEquipResult; DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= BeforePlayerDataInitialize; DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitialize; EventBroadcast.Instance.RemoveListener<string, BattleDrops, Action>(EventName.BATTLE_DROP_ITEMS, OnDropEvent); EventBroadcast.Instance.RemoveListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast); EventBroadcast.Instance.RemoveListener<string>(EventName.RECORDPLAYER_END, RecordPlayerEnd); @@ -62,6 +62,11 @@ void BeforePlayerDataInitialize() { if (UIManager.Instance.IsOpened<EquipExchangeWin>()) { //先关闭,后续再处理掉落 UIManager.Instance.CloseWindow<EquipExchangeWin>(); } selectFloorEquip = null; waitEquipOP.Clear(); lastShowEquipIndex = -1; @@ -240,6 +245,10 @@ /// <param name="autoDecompose"></param> public void SendEquipOP(ushort[] itemIndexList, byte opType, bool autoDecompose = false) { if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin) { return; } if (opType == 2 && waitEquipOPPack) return; // NoteFloorEquip(itemIndexList, opType); @@ -300,6 +309,9 @@ if (equip == null) return false; if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin) return false; // if (!IsEquip(equip)) // return false; @@ -328,7 +340,7 @@ selectFloorEquip = GetSelectFloorEquip(); if (selectFloorEquip == null) return false; UIManager.Instance.OpenWindow<EquipExchangeWin>(); return true; Main/System/Equip/ItemsOnFloor.cs
@@ -42,8 +42,8 @@ { //bug记录:因为断线重连直接销毁界面导致OnEnable二次触发中间没有触发OnDisable,出现多次掉落的现象 // 已经调整断线重连逻辑,后续观察返回登录界面情况 EquipModel.Instance.OnItemDropEvent -= NotifyPlayItemDrop; PackManager.Instance.DeleteItemEvent -= DeleteDropItem; // EquipModel.Instance.OnItemDropEvent -= NotifyPlayItemDrop; // PackManager.Instance.DeleteItemEvent -= DeleteDropItem; //主界面打开和显隐都要刷新 Display(true, EquipModel.Instance.lastDropIndexs); EquipModel.Instance.OnItemDropEvent += NotifyPlayItemDrop;