hch
2025-10-23 d99f15bc1998d94b60aba2d5aea62e84dbe4f38f
Main/Component/UI/Common/BossLifeBar.cs
@@ -152,6 +152,7 @@
    // helper: 返回段内小数部分;当恰好为整数且大于0时,返回1以表示满格(避免0导致进度条变空)
    private float GetSegmentDecimal(float value)
    {
        // 先判断是否为 0,避免被误判为"整段满格"
        if (value <= 0f) return 0f;
        // 使用一个小的容忍值来处理浮点误差,避免 near-integer 导致 0
@@ -161,8 +162,10 @@
        float stableFloor = Mathf.Floor(value + eps);
        float frac = value - stableFloor;
        if (frac <= eps)
            return 1f; // 视为整段,显示满格
        // 只有在 value > 0 且接近整数时才返回 1(表示当前段满格)
        if (frac <= eps && value >= 1f - eps)
            return 1f;
        return Mathf.Clamp01(frac);
    }