yyl
2026-01-12 27b9a5e4cf173c9c254ab1d15f87198da5ba7106
125 战斗 次级血条修改
1个文件已修改
32 ■■■■ 已修改文件
Main/System/Battle/UIComp/BattleHeroInfoBar.cs 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/UIComp/BattleHeroInfoBar.cs
@@ -210,15 +210,24 @@
        if (tween)
        {
            hpTween = DOTween.Sequence();
            sliderHp.value = fromValue;
            hpTween.Append(sliderHp.DOValue(targetValue, 0.3f).SetAutoKill(false));
            hpTween.Join(sliderSlowHp.DOValue(targetValue, 0.8f).SetAutoKill(false));
            // sliderHp.value = fromValue;
            float diff = targetValue - fromValue;
            float cost = Mathf.Lerp(0, 1f, diff);
            hpTween.Append(sliderHp.DOValue(targetValue, cost).SetAutoKill(false));
            hpTween.Join(sliderSlowHp.DOValue(targetValue, cost * 1.5f).SetAutoKill(false));
            hpTween.onComplete += () =>
            {
                sliderHp.value = targetValue;
                sliderSlowHp.value = targetValue;
            };
            // sliderSlowHp
            battleObject.battleField.battleTweenMgr.OnPlayTween(hpTween);
        }
        else
        {
            sliderHp.value = targetValue;
            sliderSlowHp.value = targetValue;
        }
    }
@@ -229,6 +238,7 @@
    public void UpdateHP(float value)
    {
        sliderHp.value = value; 
        sliderSlowHp.value = value;
        bool IsTianziBoss = battleObject.IsTianziBoss();
        sliderShield1.SetActive(!IsTianziBoss);
        sliderShield2.SetActive(!IsTianziBoss);
@@ -396,15 +406,23 @@
        float fromHpValue = (float)fromHp / (float)maxHp;
        float toHpValue = (float)toHp / (float)maxHp;
        
        sliderHp.value = fromHpValue;
        sliderSlowHp.value = fromHpValue;
        // sliderHp.value = fromHpValue;
        // sliderSlowHp.value = fromHpValue;
        float diff = Mathf.Abs(toHpValue - fromHpValue);
        float cost = Mathf.Lerp(0, 1f, diff);
        if (Mathf.Abs(fromHpValue - toHpValue) > 0.001f)
        {
            damageSequence.Append(sliderHp.DOValue(toHpValue, 0.2f));
            damageSequence.Join(sliderSlowHp.DOValue(toHpValue, 0.6f));
            damageSequence.Append(sliderHp.DOValue(toHpValue, cost));
            damageSequence.Join(sliderSlowHp.DOValue(toHpValue, cost * 1.5f));
        }
        damageSequence.onComplete += () =>
        {
            sliderHp.value = toHpValue;
            sliderSlowHp.value = toHpValue;
        };
        damageSequence.Play();
        battleObject.battleField.battleTweenMgr.OnPlayTween(damageSequence);
    }