From 6387f27214a8409dfd3954ca76d354571ce56ea9 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 12 三月 2026 22:33:48 +0800
Subject: [PATCH] 558 【武将招募】新增月卡特权心愿招募不限次数

---
 Main/System/HappyXB/HeroCallHopeWin.cs     |   23 +++++++++++++++++++++--
 Main/System/HappyXB/HeroCallHopeAddCell.cs |   17 +++++++++++++++--
 Main/System/HappyXB/HeroCallWin.cs         |    2 ++
 3 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/Main/System/HappyXB/HeroCallHopeAddCell.cs b/Main/System/HappyXB/HeroCallHopeAddCell.cs
index 5f2e272..457535d 100644
--- a/Main/System/HappyXB/HeroCallHopeAddCell.cs
+++ b/Main/System/HappyXB/HeroCallHopeAddCell.cs
@@ -11,6 +11,7 @@
     [SerializeField] Button addBtn;
     [SerializeField] Transform tipRect;
     [SerializeField] Text freeText;
+    [SerializeField] Text powerText;
     [SerializeField] Text itemCntText;
     [SerializeField] Image itemIcon;
 
@@ -37,7 +38,8 @@
         {
             return;
         }
-        if (wishData.wishCnt < HappyXBModel.wishMaxOutCnt)
+        bool isInvest = InvestModel.Instance.IsInvested(InvestModel.monthCardType);
+        if (wishData.wishCnt < HappyXBModel.wishMaxOutCnt || isInvest)
         {
             var clientwWishID = quality == 5 ? HappyXBModel.Instance.selectSHHeroWishID : HappyXBModel.Instance.selectCSHeroWishID;
             if (clientwWishID <= 0)
@@ -47,7 +49,17 @@
             else
             {
                 tipRect.SetActive(true);
-                freeText.SetActive(true);
+                if (isInvest)
+                {
+                    powerText.SetActive(true);
+                    freeText.SetActive(false);
+                }
+                else
+                {
+                    powerText.SetActive(false);
+                    freeText.SetActive(true);
+                }
+
                 itemCntText?.SetActive(false);
 
             }
@@ -63,6 +75,7 @@
             {
                 tipRect.SetActive(true);
                 freeText.SetActive(false);
+                powerText.SetActive(false);
                 itemCntText.SetActive(true);
                 itemIcon.SetItemSprite(itemID);
                 itemCntText.text = UIHelper.ShowUseItem(PackType.Item, itemID, 1, bright: false);
diff --git a/Main/System/HappyXB/HeroCallHopeWin.cs b/Main/System/HappyXB/HeroCallHopeWin.cs
index 563581c..13c1c24 100644
--- a/Main/System/HappyXB/HeroCallHopeWin.cs
+++ b/Main/System/HappyXB/HeroCallHopeWin.cs
@@ -50,11 +50,12 @@
         HappyXBModel.Instance.selectWishListTab = functionOrder;
         HappyXBModel.Instance.RefreshXBTypeInfoAct += RefreshXBTypeInfo;
         HappyXBModel.Instance.OnSelectWishHeroEvent += OnSelectWishHeroEvent;
+        InvestModel.Instance.onInvestUpdate += OnInvestUpdate;
         scroller.OnRefreshCell += OnRefreshCell;
         HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, 5, out HappyXBModel.Instance.selectSHHeroWishID, out int shWishCnt, out bool shAuto);
         HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, 4, out HappyXBModel.Instance.selectCSHeroWishID, out int csWishCnt, out bool cqAuto);
-        
-        tip.text = Language.Get("HeroCall7", HappyXBModel.wishMaxOutCnt);
+
+
         Display();
     }
 
@@ -63,10 +64,28 @@
         HappyXBModel.Instance.RefreshXBTypeInfoAct -= RefreshXBTypeInfo;
         scroller.OnRefreshCell -= OnRefreshCell;
         HappyXBModel.Instance.OnSelectWishHeroEvent -= OnSelectWishHeroEvent;
+        InvestModel.Instance.onInvestUpdate -= OnInvestUpdate;
     }
+
+
+    void OnInvestUpdate(int type)
+    {
+        Display();
+    }
+
 
     void Display()
     {
+        bool isInvest = InvestModel.Instance.IsInvested(InvestModel.monthCardType);
+        if (isInvest)
+        {
+            tip.text = Language.Get("HeroCall17");
+        }
+        else
+        {
+            tip.text = Language.Get("HeroCall7", HappyXBModel.wishMaxOutCnt) + Language.Get("HeroCall18");
+        }
+
         int shHeroID = 0;
         if (HappyXBModel.Instance.selectSHHeroWishID == -1)
         {
diff --git a/Main/System/HappyXB/HeroCallWin.cs b/Main/System/HappyXB/HeroCallWin.cs
index d5013b7..f43c88d 100644
--- a/Main/System/HappyXB/HeroCallWin.cs
+++ b/Main/System/HappyXB/HeroCallWin.cs
@@ -101,6 +101,8 @@
     void OnInvestUpdate(int type)
     {
         openPrivilegeTip.SetActive(!InvestModel.Instance.IsInvested(InvestModel.foreverCardType));
+        shHero.Display(5);
+        csHero.Display(4);
     }
 
     public override void Refresh()

--
Gitblit v1.8.0