lcy
昨天 ca577b96e0022e0ddaa8e106e147e53d8166df1c
164 天子的考验-客户端

1.修复天子切出战斗再回到战场血条是切出前的数值bug
2.修复隔天打boss比如23:59:58打boss,第二天00:00:02切出战场,回到战场血条是第二天boss的最大血量的bug
4 文件已重命名
5个文件已修改
379 ■■■■■ 已修改文件
Main/Component/UI/Common/IntensifySmoothSlider.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/TianziBillboradBattleField.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/TianziBillboradBattleWin.cs 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/TianziBillborad/TianziBillboradManager.cs 95 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/TianziBillborad/TianziBillboradPlayerRankCell.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/TianziBillborad/TianziBillboradPlayerRankCell.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/TianziBillborad/TianziBillboradPlayerTop3Cell.cs 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/TianziBillborad/TianziBillboradPlayerTop3Cell.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/TianziBillborad/TianziDamageBar.cs 170 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Component/UI/Common/IntensifySmoothSlider.cs
@@ -170,14 +170,34 @@
    private void CheckForValueChangeNotification(float currentSliderValue)
    {
        int currentSegment = GetCurrentSegment(currentSliderValue);
        // 如果当前的分段索引与上次触发事件时的索引不同,说明已跨越分段边界。
        if (currentSegment != m_LastNotifiedSegment)
        {
            ValueChangeAction?.Invoke(currentSliderValue, CurrentStage);
            // 更新“上次触发”的索引为当前索引,防止本分段内重复触发。
            m_LastNotifiedSegment = currentSegment;
            m_LastNotifiedSegment = currentSegment;
        }
    }
    /// <summary>
    /// 立即设置滑块的状态(值和阶段),而不触发任何事件或平滑动画。
    /// </summary>
    /// <param name="newValue">要设置的新目标值 (0-1)。</param>
    /// <param name="newStage">要设置的新目标阶段和当前阶段。</param>
    public void SetStateInstantly(float newValue, int newStage)
    {
        this.value = newValue;
        this.stage = newStage;
        this.presentStage = newStage;
        if (m_Slider != null)
        {
            m_Slider.value = this.value;
        }
        refSpeed = 0f;
        isMoving = false;
        // 确保下次 LateUpdate 不会因为索引不匹配而错误触发 ValueChangeAction
        m_LastNotifiedSegment = GetCurrentSegment(this.value);
    }
}
Main/System/Battle/BattleField/TianziBillboradBattleField.cs
@@ -17,6 +17,7 @@
    {
        base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList, turnMax);
        TianziBillboradManager.Instance.battleLineID = TianziBillboradManager.Instance.todayLineID;
        int level = FuncLineID;// 关卡
        extendData = _extendData;
        levelConfig = MainLevelConfig.Get(level);
@@ -46,11 +47,6 @@
            case 3://战斗结束
                break;
            case 4://结算奖励
                if (extendData != null && extendData.ContainsKey("totalHurt"))
                {
                    ulong totalHurt = ulong.Parse(extendData["totalHurt"].ToString());
                    TianziBillboradBattleWin.TianziDamageBarEndDataAction?.Invoke(totalHurt);
                }
                break;
            case 5://结束状态标记
                break;
Main/System/Battle/TianziBillboradBattleWin.cs
@@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
using System.Collections.Generic;
using LitJson;
using UnityEngine;
using UnityEngine.UI;
@@ -19,7 +17,6 @@
    [SerializeField] RectTransform rectBoxEnd;
    [SerializeField] UIEffectPlayer uiEffectPlayer;
    public static Action<ulong> TianziDamageBarEndDataAction;
    protected override void OnPreOpen()
    {
@@ -27,11 +24,8 @@
        tianziDamageBar.StageUp += OnStageUp;
        tianziDamageBar.ValueChangeAction += OnValueChangeAction;
        tianziDamageBar.ChangeEndAction += OnChangeEndAction;
        //tianziDamageBar.IsLastHitUnLockEvent += OnIsLastHitUnLockEvent;
        TianziDamageBarEndDataAction += OnTianziDamageBarEndData;
        TianziBillboradManager.Instance.OnUpdateBarInfoEvent += OnUpdateBarInfoEvent;
        MainWin.TabChangeEvent += OnTabChangeEvent;
        EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnSettlement);
        EventBroadcast.Instance.AddListener<HB419_tagSCObjHPRefresh>(EventName.BATTLE_TIANZI_REFRESH_HP, OnUpdateHpNum);
        bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
        transButtons.localPosition = new Vector3(0, isOpenBattleChangeTab ? 130 : 0, 0);
        if (isOpenBattleChangeTab)
@@ -49,12 +43,9 @@
        base.OnPreClose();
        tianziDamageBar.StageUp -= OnStageUp;
        tianziDamageBar.ValueChangeAction -= OnValueChangeAction;
        tianziDamageBar.ChangeEndAction += OnChangeEndAction;
        //tianziDamageBar.IsLastHitUnLockEvent += OnIsLastHitUnLockEvent;
        TianziDamageBarEndDataAction -= OnTianziDamageBarEndData;
        tianziDamageBar.ChangeEndAction -= OnChangeEndAction;
        TianziBillboradManager.Instance.OnUpdateBarInfoEvent -= OnUpdateBarInfoEvent;
        MainWin.TabChangeEvent -= OnTabChangeEvent;
        EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnSettlement);
        EventBroadcast.Instance.RemoveListener<HB419_tagSCObjHPRefresh>(EventName.BATTLE_TIANZI_REFRESH_HP, OnUpdateHpNum);
        bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
        if (isOpenBattleChangeTab)
        {
@@ -76,12 +67,12 @@
    }
    private void OnTianziDamageBarEndData(ulong obj)
    private void OnUpdateBarInfoEvent(ulong loaclNowHunt, ulong loaclMaxHp, int loaclHpNum)
    {
        tianziDamageBar.Show(obj);
        tianziDamageBar.Show(loaclNowHunt, loaclMaxHp, loaclHpNum);
    }
    private void OnStageUp(int stage)
    {
@@ -139,8 +130,7 @@
        DisplaySkillWordsList(lineupConfig);
        hpB419 = 0;
        maxHpB419 = 0;
        tianziDamageBar.Init();
        if (null != bossBattleObject)
@@ -194,63 +184,7 @@
        RefreshBuff(buffList);
    }
    private void OnSettlement(string _guid, JsonData data)
    {
        if (string.Empty == _guid)
            return;
        var battle = BattleManager.Instance.GetBattleField(_guid);
        if (battle == null)
            return;
        var battleName = battle.ToString();
        if (battleName != "TianziBillboradBattleField")
            return;
        if (data != null && data.ContainsKey("totalHurt"))
        {
            ulong totalHurt = ulong.Parse(data["totalHurt"].ToString());
            tianziDamageBar.Show(totalHurt);
        }
    }
    private void OnIsLastHitUnLockEvent()
    {
        if (bossBattleObject == null)
            return;
        bossBattleObject.teamHero.curHp = (long)hpB419;
        bossBattleObject.teamHero.maxHp = (long)maxHpB419;
        Debug.Log($"TianziDamageBar OnIsLastHitUnLockEvent hpB419 {hpB419} maxHpB419 {maxHpB419}");
    }
    ulong hpB419;
    ulong maxHpB419;
    private void OnUpdateHpNum(HB419_tagSCObjHPRefresh info)
    {
        if (bossBattleObject == null || info.ObjID != bossBattleObject.ObjID)
            return;
        ulong curHp = (ulong)GeneralDefine.GetFactValue(info.HP, info.HPEx);
        ulong maxHp = (ulong)GeneralDefine.GetFactValue(info.MaxHP, info.MaxHPEx);
        hpB419 = curHp;
        maxHpB419 = maxHp;
        //tianziDamageBar.ShowByB419(curHp, maxHp);
    }
    protected override void OnDamageTaken(BattleDmgInfo info)
    {
        base.OnDamageTaken(info);
        if (info == null || battleField == null || info.battleFieldGuid != battleField.guid)
            return;
        if (bossBattleObject != null && info.hurtObj.ObjID == bossBattleObject.ObjID)
        {
            TeamHero teamHero = bossBattleObject.teamHero;
            tianziDamageBar.Show(info);
            //tianziDamageBar.Show((ulong)teamHero.curHp, (ulong)teamHero.maxHp, info);
        }
    }
    private void OnValueChangeAction(float nowValue, int CurrentStage)
    {
Main/System/TianziBillborad/TianziBillboradManager.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using LitJson;
using UnityEngine;
public class TianziBillboradManager : GameSystemManager<TianziBillboradManager>
{
    public readonly int rankType = 2;    // 榜单类型
@@ -12,16 +13,13 @@
    public ulong historyHurt;    //本考验历史最大伤害
    public ulong todayHurt;    //本考验今日最大伤害
    public bool isSkipSweepTip = false;
    public ulong loaclNowHunt = 0;
    public ulong loaclAllHunt = 0;
    public ulong loaclMaxHp = 0;
    public int loaclHpNum = 0;
    public event Action UpdateTianziKYInfoExent;
    public Dictionary<int, int[][]> rankAwards;// 每日排行奖励 {"名次":[[物品ID, 个数,是否拍品], ...], ...} 配置的名次key,自动按小于等于对应名次给奖励
    public Redpoint parentRedpoint = new Redpoint(MainRedDot.MainChallengeRedpoint, MainRedDot.TianziBillboradRepoint);
    public override void Init()
    {
        EventBroadcast.Instance.AddListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
        EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnSettlement);
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitializeEvent;
        DungeonManager.Instance.UpdateFBInfoChangeEvent += OnUpdateFBInfoChangeEvent;
        AdsManager.Instance.OnAdsInfoListUpdateEvent += OnAdsInfoListUpdateEvent;
@@ -35,20 +33,14 @@
    public override void Release()
    {
        EventBroadcast.Instance.RemoveListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
        EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnSettlement);
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitializeEvent;
        DungeonManager.Instance.UpdateFBInfoChangeEvent -= OnUpdateFBInfoChangeEvent;
        AdsManager.Instance.OnAdsInfoListUpdateEvent -= OnAdsInfoListUpdateEvent;
        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
        TimeMgr.Instance.OnDayEvent -= OnDayEvent;
        UpdateTianziKYInfoExent -= OnUpdateTianziKYInfoExent;
    }
    public void ClearBar()
    {
        loaclNowHunt = 0;
        loaclAllHunt = 0;
        loaclMaxHp = 0;
        loaclHpNum = 0;
    }
    private void OnBeforePlayerDataInitializeEvent()
@@ -61,6 +53,83 @@
        isSkipSweepTip = false;
    }
    public int battleLineID; //正在战斗中的LineID
    public ulong loaclNowHunt = 0;
    public ulong loaclAllHunt = 0;
    public ulong loaclMaxHp = 0;
    public int loaclHpNum = 0;
    public event Action<ulong, ulong, int> OnUpdateBarInfoEvent;
    private void OnDamageTaken(BattleDmgInfo info)
    {
        BattleField battleField = BattleManager.Instance.GetBattleFieldByMapID(DataMapID);
        if (info == null || battleField == null || battleField.guid != info.battleFieldGuid)
            return;
        BattleObject boss = battleField.FindBoss();
        if (boss == null || boss.ObjID != info.hurtObj.ObjID)
            return;
        ShowBar(info);
    }
    public void ShowBar(BattleDmgInfo info)
    {
        if (info == null)
            return;
        //闪避和回血类不算伤害
        if (info.IsType(DamageType.Dodge) || info.IsType(DamageType.Recovery))
            return;
        var damages = info.damageList;
        for (int i = 0; i < damages.Count; i++)
        {
            ulong hunt = (ulong)damages[i];
            loaclAllHunt += hunt;
            if (!TryGetBossConfig(DataMapID, battleLineID, out DungeonConfig dungeonConfig, out NPCLineupConfig npcLineupConfig, out NPCConfig npcConfig))
                return;
            int bossId = npcConfig.NPCID;
            if (!TianziConfig.TryGetTianziConfigByBossIDAndDamage(bossId, loaclAllHunt, out TianziConfig tianziConfig))
                return;
            loaclMaxHp = (ulong)tianziConfig.MaxHP;
            loaclHpNum = tianziConfig.HPNum;
            loaclNowHunt = TianziConfig.GetCurrentHPDamage(bossId, loaclAllHunt);
            OnUpdateBarInfoEvent?.Invoke(loaclNowHunt, loaclMaxHp, loaclHpNum);
            Debug.Log($"TianziDamageBar hunt {hunt} loaclAllHunt {loaclNowHunt} loaclMaxHp {loaclMaxHp} loaclHpNum {loaclHpNum} 时间: {DateTime.Now:HH:mm:ss}");
        }
    }
    public void ClearBar()
    {
        battleLineID = 0;
        loaclNowHunt = 0;
        loaclAllHunt = 0;
        loaclMaxHp = 0;
        loaclHpNum = 0;
    }
    private void OnSettlement(string _guid, JsonData data)
    {
        if (string.Empty == _guid)
            return;
        var battle = BattleManager.Instance.GetBattleField(_guid);
        if (battle == null)
            return;
        var battleName = battle.ToString();
        if (battleName != "TianziBillboradBattleField")
            return;
        if (data == null || !data.ContainsKey("totalHurt"))
            return;
        ulong totalHurt = ulong.Parse(data["totalHurt"].ToString());
        if (!TryGetBossConfig(DataMapID, battleLineID, out DungeonConfig dungeonConfig, out NPCLineupConfig npcLineupConfig, out NPCConfig npcConfig))
            return;
        int bossId = npcConfig.NPCID;
        if (!TianziConfig.TryGetTianziConfigByBossIDAndDamage(bossId, totalHurt, out TianziConfig tianziConfig))
            return;
        ulong endNowHunt = TianziConfig.GetCurrentHPDamage(bossId, totalHurt);
        ulong endMaxHp = (ulong)tianziConfig.MaxHP;
        int endHpNum = tianziConfig.HPNum;
        OnUpdateBarInfoEvent?.Invoke(endNowHunt, endMaxHp, endHpNum);
        Debug.Log($"TianziDamageBar end nowHpNum {endHpNum} nowHunt {endNowHunt} nowHpMax{endMaxHp} 时间: {DateTime.Now:HH:mm:ss}");
    }
    private void OnUpdateTianziKYInfoExent()
    {
        UpdateRedPoint();
Main/System/TianziBillborad/TianziBillboradPlayerRankCell.cs
Main/System/TianziBillborad/TianziBillboradPlayerRankCell.cs.meta
Main/System/TianziBillborad/TianziBillboradPlayerTop3Cell.cs
Main/System/TianziBillborad/TianziBillboradPlayerTop3Cell.cs.meta
Main/System/TianziBillborad/TianziDamageBar.cs
@@ -58,179 +58,45 @@
    public void Init()
    {
        int dataMapID = TianziBillboradManager.Instance.DataMapID;
        int lineID = TianziBillboradManager.Instance.todayLineID;
        if (!TianziBillboradManager.Instance.TryGetBossConfig(dataMapID, lineID, out DungeonConfig dungeonConfig, out NPCLineupConfig npcLineupConfig, out NPCConfig npcConfig))
            return;
        bossId = npcConfig.NPCID;
        nowHpNum = 1; // 默认从第1条血开始
        if (!TianziConfig.TryGetTianziConfigByBossIDAndHPNum(bossId, nowHpNum, out TianziConfig tianziConfig))
            return;
        if (TianziBillboradManager.Instance.loaclHpNum > 0)
        if (TianziBillboradManager.Instance.loaclMaxHp > 0)
        {
            nowHunt = TianziBillboradManager.Instance.loaclNowHunt;
            nowHpMax = TianziBillboradManager.Instance.loaclMaxHp;
            nowHpNum = TianziBillboradManager.Instance.loaclHpNum;
            m_BoxCount.text = Language.Get("TianziBillborad07", Mathf.Max(nowHpNum - 1, 0));
            Show(nowHunt, nowHpMax, nowHpNum);
        }
        else
        {
            int dataMapID = TianziBillboradManager.Instance.DataMapID;
            int lineID = TianziBillboradManager.Instance.todayLineID;
            if (!TianziBillboradManager.Instance.TryGetBossConfig(dataMapID, lineID, out DungeonConfig dungeonConfig, out NPCLineupConfig npcLineupConfig, out NPCConfig npcConfig))
                return;
            bossId = npcConfig.NPCID;
            nowHpNum = 1; // 默认从第1条血开始
            if (!TianziConfig.TryGetTianziConfigByBossIDAndHPNum(bossId, nowHpNum, out TianziConfig tianziConfig))
                return;
            m_IntensifySlider.stage = 0;
            m_IntensifySlider.ResetStage();
            nowHunt = 0; // 初始血量为0
            nowHpMax = (ulong)tianziConfig.MaxHP;
            m_BoxCount.text = Language.Get("TianziBillborad07", 0);
            Show(nowHunt, nowHpMax, nowHpNum);
        }
    }
    public void Show(ulong hunt, ulong maxHp, int hpNum)
    {
        nowHunt = hunt;
        nowHpMax = maxHp;
        nowHpNum = hpNum;
        // 除零保护
        float percentage = 0f;
        if (nowHpMax > 0)
        {
            percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax;
        }
        m_IntensifySlider.value = percentage;
        m_IntensifySlider.stage = nowHpNum; // 设置当前阶段
        m_IntensifySlider.stage = nowHpNum;
        m_HurtInfo.text = Language.Get("BoneField09", nowHunt, UIHelper.ReplaceLargeNum(nowHpMax));
    }
    // public event Action IsLastHitUnLockEvent;
    // public void Show(ulong hp, ulong maxHp, BattleDmgInfo info)  // 显示伤害条
    // {
    //     if (!TianziConfig.TryGetTianziConfigByBossIDAndMaxHP(bossId, (long)maxHp, out TianziConfig tianziConfig))
    //         return;
    //     if (info.isLastHit && isLock)
    //     {
    //         isLock = false;
    //         IsLastHitUnLockEvent?.Invoke();
    //     }
    //     int hpNum = tianziConfig.HPNum;
    //     ulong hunt = maxHp - hp;
    //     if (maxHp < nowHpMax)
    //     {
    //         Debug.LogWarning($"TianziDamageBar SkillID  {info.skillConfig.SkillID} hp {hp} maxHp {maxHp} hunt {hunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax {nowHpMax} 时间: {DateTime.Now:HH:mm:ss}");
    //         return;
    //     }
    //     if (!isLock)
    //     {
    //         // 根据maxHp获得当前是第几条血
    //         nowHpNum = hpNum;
    //         nowHunt = hunt;
    //         nowHpMax = maxHp;
    //         // 除零保护
    //         float percentage = 0f;
    //         if (nowHpMax > 0)
    //         {
    //             percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax;
    //         }
    //         m_IntensifySlider.value = percentage;
    //         m_IntensifySlider.stage = nowHpNum; // 设置当前阶段
    //         Debug.Log($"TianziDamageBar SkillID  {info.skillConfig.SkillID} hp {hp} maxHp {maxHp} hunt {hunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax {nowHpMax} 时间: {DateTime.Now:HH:mm:ss}");
    //     }
    // }
    // bool isLock = false;
    // public void ShowByB419(ulong hp, ulong maxHp)
    // {
    //     if (!TianziConfig.TryGetTianziConfigByBossIDAndMaxHP(bossId, (long)maxHp, out TianziConfig tianziConfig))
    //         return;
    //     isLock = true;
    //     int hpNum = tianziConfig.HPNum;
    //     ulong hunt = maxHp - hp;
    //     if (maxHp < nowHpMax)
    //     {
    //         Debug.LogWarning($"TianziDamageBar  B419 hp {hp} maxHp {maxHp} hunt {hunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax {nowHpMax} 时间: {DateTime.Now:HH:mm:ss}");
    //         return;
    //     }
    //     nowHpNum = hpNum;
    //     nowHunt = hunt;
    //     nowHpMax = maxHp;
    //     // 除零保护
    //     float percentage = 0f;
    //     if (nowHpMax > 0)
    //     {
    //         percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax;
    //     }
    //     m_IntensifySlider.value = percentage;
    //     m_IntensifySlider.stage = nowHpNum; // 设置当前阶段
    //     Debug.Log($"TianziDamageBar B419 hp {hp} maxHp {maxHp} hunt {hunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}");
    // }
    public void Show(ulong totalHP)  // 显示伤害条
    {
        if (!TianziConfig.TryGetTianziConfigByBossIDAndDamage(bossId, totalHP, out TianziConfig tianziConfig))
            return;
        ulong endMaxHp = (ulong)tianziConfig.MaxHP;
        int endHpNum = tianziConfig.HPNum;
        ulong endNowHunt = TianziConfig.GetCurrentHPDamage(bossId, totalHP);
        nowHpNum = endHpNum;
        nowHunt = endNowHunt;
        nowHpMax = endMaxHp;
        // 除零保护
        float percentage = 0f;
        if (nowHpMax > 0)
        {
            percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax;
        }
        m_IntensifySlider.value = percentage;
        m_IntensifySlider.stage = nowHpNum; // 设置当前阶段
        //Debug.Log($"TianziDamageBar end nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}");
    }
    public void Show(BattleDmgInfo _damageInfo)
    {
        if (_damageInfo == null)
            return;
        //闪避和回血类不算伤害
        if (_damageInfo.IsType(DamageType.Dodge) || _damageInfo.IsType(DamageType.Recovery))
            return;
        var damages = _damageInfo.damageList;
        for (int i = 0; i < damages.Count; i++)
        {
            ulong hunt = (ulong)damages[i];
            TianziBillboradManager.Instance.loaclAllHunt += hunt;
            if (!TianziConfig.TryGetTianziConfigByBossIDAndDamage(bossId, TianziBillboradManager.Instance.loaclAllHunt, out TianziConfig tianziConfig))
                return;
            TianziBillboradManager.Instance.loaclMaxHp = (ulong)tianziConfig.MaxHP;
            TianziBillboradManager.Instance.loaclHpNum = tianziConfig.HPNum;
            TianziBillboradManager.Instance.loaclNowHunt = TianziConfig.GetCurrentHPDamage(bossId, TianziBillboradManager.Instance.loaclAllHunt);
            // if (loaclMaxHp < nowHpMax || loaclHpNum < nowHpNum)
            // {
            //     Debug.LogWarning($"TianziDamageBar hunt {hunt} loaclAllHunt {loaclAllHunt} loaclHpNum {loaclHpNum} loaclNowHunt {loaclNowHunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}");
            //     return;
            // }
            // if (loaclNowHunt < nowHunt)
            // {
            //     Debug.LogWarning($"TianziDamageBar hunt {hunt} loaclAllHunt {loaclAllHunt} loaclHpNum {loaclHpNum} loaclNowHunt {loaclNowHunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}");
            //     return;
            // }
            nowHunt = TianziBillboradManager.Instance.loaclNowHunt;
            nowHpMax = TianziBillboradManager.Instance.loaclMaxHp;
            nowHpNum = TianziBillboradManager.Instance.loaclHpNum;
            // 除零保护
            float percentage = 0f;
            if (nowHpMax > 0)
            {
                percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax;
            }
            m_IntensifySlider.value = percentage;
            m_IntensifySlider.stage = nowHpNum;
            //Debug.Log($"TianziDamageBar hunt {hunt} loaclAllHunt {loaclAllHunt} loaclHpNum {loaclHpNum} loaclNowHunt {loaclNowHunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}");
        }
    }
}