From c0b373738bee68aab71727de5fbf4df38fe7ae60 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期日, 28 九月 2025 14:44:00 +0800
Subject: [PATCH] 0312 优化觉醒动画

---
 Main/System/HeroUI/HeroAwakeWin.cs           |   23 ++++++++---
 Main/System/HeroUI/HeroAwakeCell.cs          |   15 +++++++
 Main/System/SkillUI/SkillBaseCell.cs         |   18 ++++++++
 Main/System/HeroUI/HeroCollectionCardCell.cs |    2 
 Main/System/HeroUI/HeroShowBaseCell.cs       |    9 ++++
 5 files changed, 57 insertions(+), 10 deletions(-)

diff --git a/Main/System/HeroUI/HeroAwakeCell.cs b/Main/System/HeroUI/HeroAwakeCell.cs
index 5fcd1b6..d654718 100644
--- a/Main/System/HeroUI/HeroAwakeCell.cs
+++ b/Main/System/HeroUI/HeroAwakeCell.cs
@@ -1,6 +1,7 @@
 using UnityEngine;
 using UnityEngine.UI;
 using System.Collections.Generic;
+using DG.Tweening;
 
 public class HeroAwakeCell : MonoBehaviour
 {
@@ -29,6 +30,14 @@
             selectImg.SetActive(false);
         }
 
+        //鐗规畩鏄剧ず鐏壒鏁堢殑鎯呭喌
+        if (hero.talentAwakeRandomIDList.Count != 0 ||
+        (hero.awakeLevel != 0 && hero.awakeLevel % 6 == 0 && UIManager.Instance.IsOpened<HeroAwakeSuccessWin>()))
+        {
+            fireEffect.Play();
+        }
+
+
         //1 澶╄祴 2鎶�鑳� 3灞炴��
         int type = config.UnlockTalentSlot != 0 ? 1 : config.SkillID != 0 ? 2 : 3;
         attrTypeImg.SetSprite("heroattrtype" + type);
@@ -53,6 +62,12 @@
         }
         awakeLVText.text = awakeLV.ToString();
         lineImg.SetActive(hero.awakeLevel >= awakeLV);
+        if (hero.awakeLevel == awakeLV)
+        {
+            //lineImg.fillAmount閫愭笎浠�0鍒�1
+            lineImg.fillAmount = 0;
+            lineImg.DOFillAmount(1, 0.5f).SetEase(Ease.InQuad);
+        }
     }
 
     public void ShowActiveEffect(HeroInfo hero, int awakeLV)
diff --git a/Main/System/HeroUI/HeroAwakeWin.cs b/Main/System/HeroUI/HeroAwakeWin.cs
index 25ac258..3f18f99 100644
--- a/Main/System/HeroUI/HeroAwakeWin.cs
+++ b/Main/System/HeroUI/HeroAwakeWin.cs
@@ -31,12 +31,14 @@
     {
         alphaTween.Stop();
         HeroManager.Instance.onHeroChangeEvent += OnHeroChangeEvent;
+        UIManager.Instance.OnCloseWindow += OnCloseWindow;
         Display();
     }
 
     protected override void OnPreClose()
     {
         HeroManager.Instance.onHeroChangeEvent -= OnHeroChangeEvent;
+        UIManager.Instance.OnCloseWindow -= OnCloseWindow;
     }
 
     protected override void OnOpen()
@@ -47,7 +49,7 @@
             return;
         }
         if (hero.talentAwakeRandomIDList.Count > 0)
-        { 
+        {
             UIManager.Instance.OpenWindow<HeroAwakeSelectGiftWin>();
         }
     }
@@ -151,19 +153,26 @@
         int startLV = hero.awakeLevel / 6 * 6 + 1;
         heroAwakeCellList[hero.awakeLevel - startLV + 1].ShowActiveEffect(hero, hero.awakeLevel + 1);
 
-        //鍒囨崲杞殑鏃跺�欏仛涓〃鐜�
-        if (hero.awakeLevel % 6 == 5)
-        { 
-            alphaTween.Play();
-        }
     }
 
     void OnHeroChangeEvent(HeroInfo hero)
-    { 
+    {
         if (hero.itemHero.guid != HeroUIManager.Instance.selectAwakeHeroGuid)
         {
             return;
         }
         Display();
     }
+
+    void OnCloseWindow(UIBase win)
+    {
+        if (win is HeroAwakeSuccessWin && HeroManager.Instance.GetHero(HeroUIManager.Instance.selectAwakeHeroGuid).awakeLevel%6 == 0)
+        { 
+            //鍒囨崲杞殑鏃跺�欏仛涓〃鐜�
+            alphaTween.Play(()=>
+            { 
+                Display();
+            });
+        }
+    }
 }
\ No newline at end of file
diff --git a/Main/System/HeroUI/HeroCollectionCardCell.cs b/Main/System/HeroUI/HeroCollectionCardCell.cs
index 2a66f7e..e403273 100644
--- a/Main/System/HeroUI/HeroCollectionCardCell.cs
+++ b/Main/System/HeroUI/HeroCollectionCardCell.cs
@@ -41,7 +41,7 @@
         if (funcState == 3 || funcState == 4)
         {
             trainStateImg.SetActive(true);
-            trainStateImg.SetSprite("herofuncstate2");
+            trainStateImg.SetSprite("herofuncstate4");
         }
         else
         {
diff --git a/Main/System/HeroUI/HeroShowBaseCell.cs b/Main/System/HeroUI/HeroShowBaseCell.cs
index 594a8cf..6d89639 100644
--- a/Main/System/HeroUI/HeroShowBaseCell.cs
+++ b/Main/System/HeroUI/HeroShowBaseCell.cs
@@ -187,7 +187,14 @@
         else
         {
             lvText.SetActive(true);
-            lvText.text = string.Format("{0}{1} {2}", Language.Get("L1094"), lv, awakelv == 0 ? Language.Get("herocard13") : Language.Get("herocard12", awakelv));
+            if (awakelv == 0)
+            {
+                lvText.text = string.Format("{0}{1}", Language.Get("L1094"), lv);
+            }
+            else
+            { 
+                lvText.text = string.Format("{0}{1} {2}", Language.Get("L1094"), lv, Language.Get("herocard12", awakelv));
+            }
             heroLVOutline.colorType = awakelv == 0 ? QualityTextColType.None : QualityTextColType.red;
         }
 
diff --git a/Main/System/SkillUI/SkillBaseCell.cs b/Main/System/SkillUI/SkillBaseCell.cs
index b284c46..934ef53 100644
--- a/Main/System/SkillUI/SkillBaseCell.cs
+++ b/Main/System/SkillUI/SkillBaseCell.cs
@@ -45,6 +45,20 @@
         }
     }
 
+    Image m_WordBG;
+    Image wordBG
+    {
+        get
+        {
+            if (m_WordBG == null)
+            {
+                m_WordBG = this.transform.GetComponent<Image>("Container_SkillCell/Image");
+            }
+            return m_WordBG;
+        }
+    }
+
+
     void Awake()
     {
         LoadPrefab();
@@ -76,10 +90,12 @@
         if (showType)
         {
             skillType.text = Language.Get(config.FuncType == 1 ? "HeroSkillType_1" : "HeroSkillType_2");
+            wordBG.SetActive(true);
         }
         else
-        { 
+        {
             skillType.text = string.Empty;
+            wordBG.SetActive(false);
         }
     }
 

--
Gitblit v1.8.0