From bddf4df7cbb292011a974b705d6f6d94c0ac6cc1 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 09 十二月 2025 11:44:17 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/HeroUI/HeroUIManager.cs |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/Main/System/HeroUI/HeroUIManager.cs b/Main/System/HeroUI/HeroUIManager.cs
index 84e6627..e8f86b2 100644
--- a/Main/System/HeroUI/HeroUIManager.cs
+++ b/Main/System/HeroUI/HeroUIManager.cs
@@ -467,12 +467,19 @@
     // 涓荤嚎涓婇樀姝﹀皢鎵嶉渶瑕佹彁閱�  瑙夐啋锛炲崌鏄燂紴绐佺牬锛炲崌绾�
     public int GetFuncState(HeroInfo hero)
     {
+        if (!hero.isAttrActive)
+            return 0;
+            
+        var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId);
         if (!hero.IsInTeamByTeamType(TeamType.Story))
         {
+            if (hero.heroStar < hero.GetCurMaxStar() && heroCnt > 1)
+            {
+                return 2;
+            }
             return 0;
         }
 
-        var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId);
         var itemPack = PackManager.Instance.GetSinglePack(PackType.Item);
         //5鏄熷悗鎵嶈兘瑙夐啋
         if (hero.heroStar < starLevelCanAwake)
@@ -493,7 +500,10 @@
             }
         }
 
-        if (heroCnt > 1) return 2;
+        if (hero.heroStar < hero.GetCurMaxStar() && heroCnt > 1)
+        {
+            return 2;
+        }
 
         var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
         if (hero.breakLevel < maxBreakLV)
@@ -526,6 +536,8 @@
     List<Redpoint> heroOnTeamRedpointList = new List<Redpoint>();   //涓婇樀鐨勬灏嗙孩鐐�
     List<Redpoint> heroBookRedpointList = new List<Redpoint>(); //鍥鹃壌鎵�鏈夋灏嗙孩鐐�
 
+    //鐢熸晥鏈笂闃电殑 鍙悶鍣殑鍏辩敤涓�涓孩鐐�
+    Redpoint heroEatRedPoint = new Redpoint(MainRedDot.HeroCardRedpoint, MainRedDot.HeroCardRedpoint * 10 + 8);
     //鏂版爣璇嗙殑绾㈢偣 鎵�鏈夋灏嗙粺涓�涓�
     Redpoint newMarkRedPoint = new Redpoint(MainRedDot.HeroCardRedpoint, MainRedDot.HeroCardRedpoint * 10 + 9);
     void InitHeroOnTeamRedpointList()
@@ -566,6 +578,27 @@
         }
 
         newMarkRedPoint.state = newHeroIDList.Count > 0 ? RedPointState.New : RedPointState.None;
+
+        heroEatRedPoint.state = RedPointState.None;
+        var _list = HeroManager.Instance.GetHeroList();
+        foreach (var hero in _list)
+        {
+            if (!hero.isAttrActive)
+            {
+                continue;
+            }
+            if (hero.heroStar >= hero.GetCurMaxStar())
+            {
+                continue;
+            }
+
+            if (HeroManager.Instance.GetHeroCountByID(hero.heroId) > 1)
+            {
+                heroEatRedPoint.state = RedPointState.Simple;
+                break;
+            }
+        }
+
     }
 
 

--
Gitblit v1.8.0