From 39001a600fcae2bcf27c225df8752d75fb92fef4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 31 十月 2025 11:18:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Battle/BattleTweenMgr.cs |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/Main/System/Battle/BattleTweenMgr.cs b/Main/System/Battle/BattleTweenMgr.cs
index e36d309..2e72688 100644
--- a/Main/System/Battle/BattleTweenMgr.cs
+++ b/Main/System/Battle/BattleTweenMgr.cs
@@ -7,10 +7,13 @@
 {
     private BattleField battleField;
 
+    private float speedRatio => battleField.speedRatio;
+
     private List<Tween> tweenList = new List<Tween>();
 
     public void Init(BattleField _battleField)
     {
+        Release();
         battleField = _battleField;
     }
 
@@ -44,11 +47,56 @@
         }
 
         tweenList.Add(tween);
-        tween.OnComplete(() =>
-        {
+        tween.timeScale = speedRatio;
+        tween.onComplete += () =>
+        { 
             tweenList.Remove(tween);
-        });
+        };
 
         tween.Play();
     }
+
+    public void OnKillTween(Tween tween)
+    {
+        tween.Kill();
+        if (tween != null && tweenList.Contains(tween))
+        {
+            tweenList.Remove(tween);
+        }
+    }
+
+    public void HaveRest()
+    {
+        foreach (var tween in tweenList)
+        {
+            if (tween != null && !tween.IsComplete())
+            {
+                tween.Kill();
+            }
+        }
+        tweenList.Clear();
+    }
+
+    public void Release()
+    {
+        foreach (var tween in tweenList)
+        {
+            if (tween != null && !tween.IsComplete())
+            {
+                tween.Kill();
+            }
+        }
+        tweenList.Clear();
+    }
+
+    public void SetSpeedRatio(float ratio)
+    {
+        foreach (var tween in tweenList)
+        {
+            if (tween != null && !tween.IsComplete())
+            {
+                tween.timeScale = speedRatio;
+            }
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0