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