yyl
2025-09-05 6a8e476aa30340626025ee3a4f4cb10a76c831df
125 【战斗】战斗系统 不让主线打boss的时候报错
8个文件已修改
43 ■■■■ 已修改文件
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleEffectMgr.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/BattleField.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleObject/BattleObjMgr.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleTweenMgr.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/RecordPlayer/RecordPlayer.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/Skill/SkillBase.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs
@@ -14,7 +14,7 @@
        BattleField battleField = BattleManager.Instance.GetBattleField(vNetPack.packUID);
        //04 07 NPC消失#tagNPCDisappear 中的字段NPCID实际上同步的是ObjID,只是命名问题
        //    提前结束战斗 删除NPCID()实际上是对象的ObjID
        battleField.NPCDisappear(vNetData.NPCID);
        // battleField.NPCDisappear(vNetData.NPCID);
        battleField.DistributeNextPackage();
    }
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs
@@ -23,7 +23,7 @@
            byte[] vPackBytes;
            int vLeavingLeng = 0;
            int vBodyLeng = 0;
            int vTotalLeng = vNetData.Report.Length;
            int vTotalLeng = vNetData.reportBytes.Length;
            while (vReadIndex < vTotalLeng)
            {
Main/System/Battle/BattleEffectMgr.cs
@@ -11,6 +11,7 @@
    public void Init(BattleField _battleField)
    {
        Release();
        battleField = _battleField;
    }
@@ -112,6 +113,11 @@
    public void HaveRest()
    {
        Release();
    }
    public void Release()
    {
        List<int> fKeys = effectDict.Keys.ToList();
        for (int i = 0; i < fKeys.Count; i++)
@@ -127,22 +133,6 @@
                else
                {
                    effectPlayers.RemoveAt(0);
                }
            }
        }
        effectDict.Clear();
    }
    public void Release()
    {
        foreach (var effect in effectDict)
        {
            foreach (var effectPlayer in effect.Value)
            {
                if (effectPlayer != null)
                {
                    GameObject.DestroyImmediate(effectPlayer.gameObject);
                }
            }
        }
Main/System/Battle/BattleField/BattleField.cs
@@ -86,9 +86,7 @@
        battleTweenMgr = new BattleTweenMgr();
        recordPlayer = new RecordPlayer();
        battleEffectMgr.Init(this);
        battleTweenMgr.Init(this);
        recordPlayer.Init(this);
    }
    public virtual void Init(int _MapID, int _FuncLineID, JsonData _extendData,
@@ -103,6 +101,10 @@
        redTeamIndex = 0;
        blueTeamIndex = 0;
        battleEffectMgr.Init(this);
        battleTweenMgr.Init(this);
        recordPlayer.Init(this);
        if (blueTeamList == null)
        {
            battleObjMgr.Init(this, redTeamList[redTeamIndex], null);
Main/System/Battle/BattleObject/BattleObjMgr.cs
@@ -18,6 +18,7 @@
    public void Init(BattleField _battleField, TeamBase _redTeam, TeamBase _blueTeam)
    {
        Release();
        battleField = _battleField;
        ReloadTeam(_redTeam, BattleCamp.Red);
        ReloadTeam(_blueTeam, BattleCamp.Blue, false);
Main/System/Battle/BattleTweenMgr.cs
@@ -11,6 +11,7 @@
    public void Init(BattleField _battleField)
    {
        Release();
        battleField = _battleField;
    }
Main/System/Battle/RecordPlayer/RecordPlayer.cs
@@ -17,6 +17,7 @@
    public void Init(BattleField _battleField)
    {
        Release();
        battleField = _battleField;
    }
@@ -174,7 +175,12 @@
    public void Release()
    {
        if (null != currentRecordAction)
        {
            currentRecordAction.ForceFinish();
        }
        currentRecordAction = null;
        recordActionQueue.Clear();
        immediatelyActionList.Clear();
    }
}
Main/System/Battle/Skill/SkillBase.cs
@@ -587,6 +587,7 @@
    {
        skillEffect?.ForceFinished();
        isFinished = true;
        moveFinished = true;
        while (packList.Count > 0)
        {