From 8d4b5e8a747aa9457d325e438c9f511e1d42be3d Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 31 十月 2025 11:41:33 +0800
Subject: [PATCH] 164 测试血条脚本

---
 Main/System/TianziBillborad/IntensifySmoothSlider.cs      |  115 ++++++++++++++++++++++++++++++++++++++
 Main/System/TianziBillborad/IntensifySmoothSlider.cs.meta |   11 +++
 Main/System/TianziBillborad.meta                          |    8 ++
 3 files changed, 134 insertions(+), 0 deletions(-)

diff --git a/Main/System/TianziBillborad.meta b/Main/System/TianziBillborad.meta
new file mode 100644
index 0000000..21c0903
--- /dev/null
+++ b/Main/System/TianziBillborad.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 73fb058f08e87c94ca8ab5645d66fdac
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/TianziBillborad/IntensifySmoothSlider.cs b/Main/System/TianziBillborad/IntensifySmoothSlider.cs
new file mode 100644
index 0000000..41a5ff5
--- /dev/null
+++ b/Main/System/TianziBillborad/IntensifySmoothSlider.cs
@@ -0,0 +1,115 @@
+using UnityEngine;
+using UnityEngine.UI;
+
+[DisallowMultipleComponent]
+public class IntensifySmoothSlider : MonoBehaviour
+{
+    [SerializeField]
+    Slider m_Slider;
+    public Slider slider
+    {
+        get { return m_Slider; }
+    }
+
+    [SerializeField]
+    [Range(0, 10)]
+    float m_Delay = 0.2f;
+    public float delay
+    {
+        get { return m_Delay; }
+        set
+        {
+            m_Delay = Mathf.Clamp(value, 0, 10);
+        }
+    }
+
+    [SerializeField]
+    [Range(0, 1)]
+    float m_Value = 0f;
+    public float value
+    {
+        get
+        {
+            return m_Value;
+        }
+        set
+        {
+            m_Value = Mathf.Clamp01(value);
+        }
+    }
+    [SerializeField] Text m_LvText;
+    int m_Stage = 0;
+    public int stage
+    {
+        get
+        {
+            return m_Stage;
+        }
+        set
+        {
+            m_Stage = value;
+        }
+    }
+
+    private int presentStage;
+    public int CurrentStage { get { return presentStage; } }
+
+    float refSpeed = 0f;
+
+    public void ResetStage()
+    {
+        presentStage = stage;
+    }
+
+    public void ResetValue(float _value)
+    {
+        value = _value;
+        if (slider != null)
+        {
+            slider.value = Mathf.Clamp01(_value);
+        }
+    }
+
+    void OnEnable()
+    {
+        refSpeed = 0f;
+        if (m_LvText != null)
+        {
+            m_LvText.text = string.Format(Language.Get("TianziBillborad07"), presentStage);
+        }
+    }
+
+    void LateUpdate()
+    {
+        if (slider == null)
+        {
+            return;
+        }
+        if (presentStage < m_Stage)
+        {
+            slider.value = Mathf.SmoothDamp(slider.value, 1, ref refSpeed, delay / 2);
+            if (slider.value >= 0.999f)
+            {
+                slider.value = 0f;
+                presentStage++;
+                if (m_LvText != null)
+                {
+                    m_LvText.text = string.Format(Language.Get("TianziBillborad07"), presentStage);
+                }
+            }
+        }
+        else
+        {
+            if (Mathf.Abs(slider.value - value) > 0.001f)
+            {
+                slider.value = Mathf.SmoothDamp(slider.value, value, ref refSpeed, delay);
+            }
+        }
+
+    }
+
+
+}
+
+
+
diff --git a/Main/System/TianziBillborad/IntensifySmoothSlider.cs.meta b/Main/System/TianziBillborad/IntensifySmoothSlider.cs.meta
new file mode 100644
index 0000000..7ceb0bf
--- /dev/null
+++ b/Main/System/TianziBillborad/IntensifySmoothSlider.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 127677c8f6f8faa4f95f33e22f991ef0
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

--
Gitblit v1.8.0