hch
3 天以前 364bb6a6623e49eec17075074a33121b6706fb31
Main/System/Battle/BattleField/BattleField.cs
@@ -273,7 +273,7 @@
        // 清理死亡处理记录
        processingDeathObjIds.Clear();
        // 清空当前战场的血量记录
        if (BattleHeroInfoBar.largestPackUID.ContainsKey(guid))
        {
@@ -303,7 +303,7 @@
        }
        if (recordPlayer == null || battleObjMgr == null)
            return;
        recordPlayer.Run();
        battleObjMgr.Run();
        battleEffectMgr.Run();
@@ -315,7 +315,7 @@
        }
        operationAgent.Run();
        // 触发 UI 层的更新回调
        OnBattleRun?.Invoke();
    }
@@ -475,7 +475,7 @@
        {
            // 过滤掉正在处理死亡的角色,避免重复处理
            List<BattleDeadPack> validDeadList = new List<BattleDeadPack>();
            foreach (var deadPack in deadPackList)
            {
                var objID = deadPack.deadPack.ObjID;
@@ -485,21 +485,21 @@
                    // Debug.LogWarning($"OnObjsDead: 角色正在处理死亡,忽略重复死亡消息 ObjID={objID}");
                    continue;
                }
                BattleObject battleObj = battleObjMgr.GetBattleObject((int)objID);
                if (battleObj == null)
                {
                    Debug.LogError($"OnObjsDead: 找不到角色 ObjID={objID}");
                    continue;
                }
                // 添加到处理中列表
                processingDeathObjIds.Add(objID);
                validDeadList.Add(deadPack);
            }
            // 只处理有效的死亡消息
            if (validDeadList.Count > 0)
            {
@@ -583,7 +583,7 @@
        {
            obj.layerMgr.UpdateLayer();
        }
        battleRootNode.SetSortingOrder();
        // RendererAdjuster[] adjusters = battleRootNode.GetComponentsInChildren<RendererAdjuster>(true);
        // if (null != adjusters)
@@ -681,7 +681,10 @@
            IsBattleFinish = true;
            if (!string.IsNullOrEmpty(guid))
            {
                Debug.Log($"OnBattleEnd guid {guid}");
            }
            //提供外部 胜利等奖励显示
            EventBroadcast.Instance.Broadcast<string, JsonData>(EventName.BATTLE_END, guid, turnFightStateData);
        });
@@ -698,10 +701,10 @@
        battleObjMgr.DestroyTeam(BattleCamp.Blue);
        SetBattleStartState();
        SetBattleMode(BattleMode.Stop);
        // 清理死亡处理记录
        processingDeathObjIds.Clear();
        // 清空当前战场的血量记录
        if (BattleHeroInfoBar.largestPackUID.ContainsKey(guid))
        {
@@ -730,7 +733,7 @@
        battleObjMgr.DestroyTeam(BattleCamp.Blue);
        BattleManager.Instance.ClearStoryQueue();
        SetBattleStartState();
        // 清理死亡处理记录
        processingDeathObjIds.Clear();
    }
@@ -764,7 +767,7 @@
    {
        recordPlayer.ForceFinish();
    }
    //暂停的原因有很多,需要检查各种状态
    protected virtual bool CanResumeGame()