yyl
2025-10-22 73230b277cda84d306030d1f8db2ad37e9016c5f
Main/System/Battle/StoryBossBattleWin.cs
@@ -106,6 +106,12 @@
        if (!UIManager.Instance.IsOpened<MainWin>())
            UIManager.Instance.OpenWindow<MainWin>();
        if (null != bossBattleObject)
        {
            bossBattleObject.buffMgr.onBuffChanged -= OnBuffChanged;
            bossBattleObject = null;
        }
    }
    private void OnCreateBattleField(string arg1, BattleField field)
@@ -131,6 +137,12 @@
        NPCLineupConfig lineupConfig = battleField.GetBossLineupConfig();
        if (null != bossBattleObject)
        {
            bossBattleObject.buffMgr.onBuffChanged -= OnBuffChanged;
            bossBattleObject = null;
        }
        bossBattleObject = battleField.FindBoss();
        DisplaySkillWordsList(lineupConfig);
@@ -142,6 +154,8 @@
            txtBossName.text = teamHero.name;
            NPCConfig npcConfig = NPCConfig.Get(teamHero.NPCID);
            bossLifeBar.SetBaseInfo(Mathf.Max(1, npcConfig.LifeBarCount), (ulong)teamHero.curHp, (ulong)teamHero.maxHp);
            bossBattleObject.buffMgr.onBuffChanged -= OnBuffChanged;
            bossBattleObject.buffMgr.onBuffChanged += OnBuffChanged;
        }
        else
        {
@@ -152,6 +166,20 @@
        }
        txtBattleRound.text = string.Format("{0}/{1}", battleField.round, battleField.turnMax);
        OnBuffChanged();
        totalDamageDisplayer.SetActive(false);
    }
    private void OnBuffChanged()
    {
        var buffList = new List<HB428_tagSCBuffRefresh>();
        if (null != bossBattleObject)
        {
            buffList = bossBattleObject.buffMgr.GetBuffList();
        }
        RefreshBuff(buffList);
    }
    private void RefreshHP()
@@ -166,6 +194,9 @@
    private void OnDamageTaken(BattleDmgInfo info)
    {
        if (info.battleFieldGuid != battleField.guid)
            return;
        if (info.hurtObj.ObjID == bossBattleObject.ObjID)
        {
            // Update the boss's health bar