From 3f2cd27c5dfb3b450245bf1a37fc1b3414031c7c Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 11 二月 2026 11:03:58 +0800
Subject: [PATCH] 小游戏适配 资源系统改造

---
 Main/System/Battle/UIComp/TotalDamageDisplayer.cs |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/Main/System/Battle/UIComp/TotalDamageDisplayer.cs b/Main/System/Battle/UIComp/TotalDamageDisplayer.cs
index 4abc05c..24a077b 100644
--- a/Main/System/Battle/UIComp/TotalDamageDisplayer.cs
+++ b/Main/System/Battle/UIComp/TotalDamageDisplayer.cs
@@ -97,4 +97,78 @@
         battleField.battleTweenMgr.OnPlayTween(punchTween);
 
     }
+
+    public async UniTask SetDamageAsync(BattleDmgInfo dmgInfo)
+    {
+        var battleField = BattleManager.Instance.GetBattleField(dmgInfo.battleFieldGuid);
+
+        if (!gameObject.activeInHierarchy)
+            gameObject.SetActive(true);
+
+        if (dmgInfo == null)
+            return;
+
+        if (dmgInfo.isFirstHit)
+        {
+            damage = 0;
+            heal = 0;
+        }
+
+        if (dmgInfo.IsType(DamageType.Recovery))
+        {
+            // 淇濇寔鍘熸湁澶勭悊閫昏緫浣嶇疆
+            foreach (var h in dmgInfo.damageList)
+            {
+                heal += h;
+            }
+            textDamage.text = BattleUtility.DisplayDamageNum(heal, BattleConst.BattleTotalRecoverType);
+            damageBackground.sprite = await UILoader.LoadSpriteAsync("Fight", "Fight1_img_83");
+            if (this == null) return;
+            imgTotalDesc.sprite = await UILoader.LoadSpriteAsync("Fight", "Fight1_img_80");
+            if (this == null) return;
+        }
+        else if (dmgInfo.IsType(DamageType.Damage) || dmgInfo.IsType(DamageType.Realdamage))
+        {
+            // 淇濇寔鍘熸湁澶勭悊閫昏緫浣嶇疆
+            foreach (var d in dmgInfo.damageList)
+            {
+                damage += d;
+            }
+            textDamage.text = BattleUtility.DisplayDamageNum(damage, BattleConst.BattleTotalDamageType);
+            imgTotalDesc.sprite = await UILoader.LoadSpriteAsync("Fight", "Fight1_img_85");
+            if (this == null) return;
+            damageBackground.sprite = await UILoader.LoadSpriteAsync("Fight", "Fight1_img_88");
+            if (this == null) return;
+        }
+        else
+        {
+            gameObject.SetActive(false);
+            return;
+        }
+
+        if (punchTween != null && punchTween.IsActive())
+        {
+            battleField.battleTweenMgr.OnKillTween(punchTween);
+            textDamage.transform.localScale = Vector3.one;
+            punchTween = null;
+        }
+
+        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);
+            }
+        });
+
+        battleField.battleTweenMgr.OnPlayTween(punchTween);
+
+    }
 }

--
Gitblit v1.8.0