From 821b91fce3202521edd37897b2023e007fa92df1 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 09 十二月 2025 15:00:02 +0800
Subject: [PATCH] 125 战斗 伤害显示延长展示时间(scale1.5s delay1.5s)

---
 Main/System/Battle/UIComp/TotalDamageDisplayer.cs |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/Main/System/Battle/UIComp/TotalDamageDisplayer.cs b/Main/System/Battle/UIComp/TotalDamageDisplayer.cs
index 15aa820..4abc05c 100644
--- a/Main/System/Battle/UIComp/TotalDamageDisplayer.cs
+++ b/Main/System/Battle/UIComp/TotalDamageDisplayer.cs
@@ -14,6 +14,14 @@
 
     private long heal = 0;
 
+    public const float scaleDuration = 1.5f;
+
+    public const float delayCloseDuration = 1.5f;
+
+    public static readonly Vector3 scalePunch = new Vector3(0.4f, 0.4f, 0.4f);
+
+    private Sequence punchTween = null;
+
     public void SetDamage(BattleDmgInfo dmgInfo)
     {
         var battleField = BattleManager.Instance.GetBattleField(dmgInfo.battleFieldGuid);
@@ -23,6 +31,12 @@
 
         if (dmgInfo == null)
             return;
+
+        if (dmgInfo.isFirstHit)
+        {
+            damage = 0;
+            heal = 0;
+        }
 
         if (dmgInfo.IsType(DamageType.Recovery))
         {
@@ -48,23 +62,39 @@
         }
         else
         {
-            textDamage.text =BattleUtility.DisplayDamageNum(0, BattleConst.BattleTotalDamageType);
-            imgTotalDesc.sprite = UILoader.LoadSprite("Fight", "Fight1_img_85");
-            damageBackground.sprite = UILoader.LoadSprite("Fight", "Fight1_img_88");
+            gameObject.SetActive(false);
+            return;
+        }
+        // else
+        // {
+        //     textDamage.text =BattleUtility.DisplayDamageNum(0, BattleConst.BattleTotalDamageType);
+        //     imgTotalDesc.sprite = UILoader.LoadSprite("Fight", "Fight1_img_85");
+        //     damageBackground.sprite = UILoader.LoadSprite("Fight", "Fight1_img_88");
+        // }
+
+        if (punchTween != null && punchTween.IsActive())
+        {
+            battleField.battleTweenMgr.OnKillTween(punchTween);
+            textDamage.transform.localScale = Vector3.one;
+            punchTween = null;
         }
 
-        var tween = textDamage.transform.DOPunchScale(Vector3.one * 0.2f, 0.8f / battleField.speedRatio, 1).OnComplete(() =>
+        punchTween = DOTween.Sequence();
+        var tween1 = textDamage.transform.DOPunchScale(scalePunch, scaleDuration / battleField.speedRatio, 1);
+        punchTween.Append(tween1);
+        //  鎾斁缁撴潫鍚� 寤惰繜1.5绉掑啀娑堝け
+        var tween2 = DOVirtual.DelayedCall(delayCloseDuration / battleField.speedRatio, () => { });
+        punchTween.Append(tween2);
+        punchTween.OnComplete(() =>
         {
             textDamage.transform.localScale = Vector3.one;
             if (dmgInfo.isLastHit)
             {
                 gameObject.SetActive(false);
-                damage = 0;
-                heal = 0;
             }
         });
 
-        battleField.battleTweenMgr.OnPlayTween(tween);
+        battleField.battleTweenMgr.OnPlayTween(punchTween);
 
     }
 }

--
Gitblit v1.8.0