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/SkillTips.cs |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/Main/System/Battle/UIComp/SkillTips.cs b/Main/System/Battle/UIComp/SkillTips.cs
index 429bc1c..d9648fb 100644
--- a/Main/System/Battle/UIComp/SkillTips.cs
+++ b/Main/System/Battle/UIComp/SkillTips.cs
@@ -1,5 +1,6 @@
 using System.Collections;
 using System.Collections.Generic;
+using Cysharp.Threading.Tasks;
 using DG.Tweening;
 using UnityEngine.UI;
 using UnityEngine;
@@ -81,6 +82,68 @@
         });
         battleField.battleTweenMgr.OnPlayTween(tween1);
     }
+
+    public async UniTask PlayMotionAsync(BattleField battleField, bool isRed, TeamHero teamHero, SkillConfig skillConfig)
+    {
+        if (teamHero == null || skillConfig == null)
+        {
+            return;
+        }
+
+        if (skillConfig.FuncType != 2)
+            return;
+
+        KillAllTweens();
+
+        imgIcon.sprite = await UILoader.LoadSpriteAsync("HeroHead", teamHero.skinConfig.SquareIcon);
+        if (this == null) return;
+        imgSkillName.sprite = await UILoader.LoadSpriteAsync("SkillNameIcon", skillConfig.SkillTipsName);
+        if (this == null) return;
+        imgSkillName.SetNativeSize();
+        // 淇濊瘉寮�濮嬫椂鎵�鏈夊浘鐗囦负鍙锛坅lpha=1锛�
+        if (imageBg != null) { var c = imageBg.color; c.a = 1f; imageBg.color = c; }
+        if (imgIcon != null) { var c = imgIcon.color; c.a = 1f; imgIcon.color = c; }
+        if (imgSkillName != null) { var c = imgSkillName.color; c.a = 1f; imgSkillName.color = c; }
+
+        gameObject.SetActive(true);
+        float posY = transform.localPosition.y;
+        transform.localPosition = isRed ? new Vector3(-beginingX, posY, 0f) : new Vector3(beginingX, posY, 0f);
+        tween1 = transform.DOLocalMoveX(0, tweenDuration / battleField.speedRatio, false).SetEase(Ease.Linear).OnComplete(() =>
+        {
+            tween1 = null;
+            tween3 = DOVirtual.DelayedCall(delayDuration / battleField.speedRatio, () =>
+            {
+                tween3 = null;
+
+                // tween2 鏀逛负鍋氬噺娣★紙瀵� imageBg銆乮mgIcon銆乮mgSkillName 鍚屾娣″嚭锛�
+                float fadeDuration = tweenDuration / battleField.speedRatio;
+                Sequence seq = DOTween.Sequence();
+                if (imageBg != null)
+                    seq.Join(imageBg.DOFade(0f, fadeDuration).SetEase(Ease.InQuad));
+                if (imgIcon != null)
+                    seq.Join(imgIcon.DOFade(0f, fadeDuration).SetEase(Ease.InQuad));
+                if (imgSkillName != null)
+                    seq.Join(imgSkillName.DOFade(0f, fadeDuration).SetEase(Ease.InQuad));
+
+                seq.OnComplete(() =>
+                {
+                    tween2 = null;
+                    // 鎭㈠鍥剧墖 alpha锛屼繚璇佷笅娆℃樉绀烘椂鍙
+                    if (imageBg != null) { var cc = imageBg.color; cc.a = 1f; imageBg.color = cc; }
+                    if (imgIcon != null) { var cc = imgIcon.color; cc.a = 1f; imgIcon.color = cc; }
+                    if (imgSkillName != null) { var cc = imgSkillName.color; cc.a = 1f; imgSkillName.color = cc; }
+
+                    transform.localPosition = isRed ? new Vector3(-beginingX, posY, 0f) : new Vector3(beginingX, posY, 0f);
+                    gameObject.SetActive(false);
+                });
+
+                tween2 = seq;
+                battleField.battleTweenMgr.OnPlayTween(tween2);
+            });
+            battleField.battleTweenMgr.OnPlayTween(tween3);
+        });
+        battleField.battleTweenMgr.OnPlayTween(tween1);
+    }
     
     public void KillAllTweens()
     {

--
Gitblit v1.8.0