From 3b2a6bb9047cfce9f501593b3669a9c1af6c5df4 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 05 十一月 2025 17:40:23 +0800
Subject: [PATCH] 130 战斗修改回合样式

---
 Main/System/HeroUI/HeroCardCell.cs |   47 +++++++++++++++++++++++++++++++----------------
 1 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/Main/System/HeroUI/HeroCardCell.cs b/Main/System/HeroUI/HeroCardCell.cs
index 489a768..0f5d634 100644
--- a/Main/System/HeroUI/HeroCardCell.cs
+++ b/Main/System/HeroUI/HeroCardCell.cs
@@ -6,53 +6,62 @@
 {
     [SerializeField] Button heroCardBtn;
     [SerializeField] Image heroCardBG;
-    [SerializeField] Material glowMaterial; // 娴佸厜鏁堟灉鏉愯川
     [SerializeField] Text lvText;
     [SerializeField] Image countryImg;
     [SerializeField] Image jobImg;
     [SerializeField] UIHeroController heroModel;
     [SerializeField] Image onStateImg;
     [SerializeField] RedpointBehaviour redpoint;
+    [SerializeField] Image newImage;    //鏂版爣璇嗗拰绾㈢偣浜掓枼
     [SerializeField] Image trainStateImg;
     [SerializeField] Text nameText;
     [SerializeField] Image awakeImg;
     [SerializeField] Text awakeLVText;
     [SerializeField] List<Image> starImgList;
 
+    string guid;
     public void Display(int index)
     {
-        var hero = HeroManager.Instance.GetHero(HeroManager.Instance.heroSortList[index]);
+        guid = HeroUIManager.Instance.heroSortList[index];
+        var hero = HeroManager.Instance.GetHero(guid);
         if (hero == null)
         {
             this.gameObject.SetActive(false);
             return;
         }
-        
+
         this.gameObject.SetActive(true);
         heroCardBG.SetSprite("herocardbg" + hero.Quality);
-        if (glowMaterial != null)
-        {
-            heroCardBG.material = glowMaterial;
-        }
         lvText.text = Language.Get("L1094") + hero.heroLevel.ToString();
         var heroConfig = hero.heroConfig;
-        countryImg.SetSprite("herocountry" + heroConfig.Country);
-        jobImg.SetSprite("herojob" + heroConfig.Class);
+        countryImg.SetSprite(HeroUIManager.Instance.GetCountryIconName(heroConfig.Country));
+        jobImg.SetSprite(HeroUIManager.Instance.GetJobIconName(heroConfig.Class));
         heroModel.Create(heroConfig.SkinIDList[hero.SkinIndex], heroConfig.UIScale);
-        onStateImg.SetActive(hero.isInMainBattle);
+        onStateImg.SetActive(hero.IsInTeamByTeamType(TeamType.Story));
 
-        redpoint.redpointId = MainRedDot.HeroCardRedpoint * 1000 + hero.itemHero.gridIndex;
-        var funcState = hero.funcState;
-        if (funcState > 0)
+        int teamPos = TeamManager.Instance.GetTeam(TeamType.Story).GetPosition(hero.itemHero.guid);
+        if (teamPos >= 0)
+        {
+            redpoint.redpointId = MainRedDot.HeroCardRedpoint * 10 + teamPos;
+            newImage.SetActive(false);
+        }
+        else
         { 
+            redpoint.redpointId = 0;
+            newImage.SetActive(HeroUIManager.Instance.newHeroIDList.Contains(hero.heroId));
+        }
+
+        var funcState = HeroUIManager.Instance.GetFuncState(hero);
+        if (funcState > 0)
+        {
             trainStateImg.SetActive(true);
-            trainStateImg.SetSprite("herofuncstate" + hero.funcState);
+            trainStateImg.SetSprite("herofuncstate" + funcState);
         }
         else
         {
             trainStateImg.SetActive(false);
         }
-        nameText.text = hero.breakLevel == 0 ? heroConfig.Name : Language.Get("herocardbreaklv" + heroConfig.Name + hero.breakLevel);
+        nameText.text = hero.breakLevel == 0 ? heroConfig.Name : Language.Get("herocardbreaklv", heroConfig.Name, hero.breakLevel);
         awakeImg.SetActive(hero.awakeLevel > 0);
         awakeLVText.text = hero.awakeLevel.ToString();
 
@@ -67,13 +76,19 @@
             else if ((hero.heroStar - 1) % starImgList.Count >= i)
             {
                 starImgList[i].SetActive(true);
-                starImgList[i].SetSprite("herostar" +  (((hero.heroStar - 1)/starImgList.Count)+1)*starImgList.Count);
+                starImgList[i].SetSprite("herostar" + (((hero.heroStar - 1) / starImgList.Count) + 1) * starImgList.Count);
             }
             else
             {
                 starImgList[i].SetActive(false);
             }
         }
+
+        heroCardBtn.AddListener(() =>
+        {
+            HeroUIManager.Instance.selectHeroGuid = guid;
+            UIManager.Instance.OpenWindow<HeroTrainWin>();
+        });
     }
 }
 

--
Gitblit v1.8.0