From cd577d03019b1a399b29e18c802a97ce665daec6 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 05 九月 2025 11:55:51 +0800
Subject: [PATCH] 50 【主界面】核心主体 - 增加等级功能开启限制 153 【武将】招募系统 - 免费次数显示和

---
 Main/Utility/ComponentExtersion.cs       |   13 ++++++++++---
 Main/System/HappyXB/HeroCallWin.cs       |    7 +++++--
 Main/System/HappyXB/HappyXBModel.cs      |   19 ++++++++++++++++++-
 Main/System/HappyXB/HeroCallResultWin.cs |    6 ++++--
 Main/Component/UI/Common/UIFuncOpen.cs   |    3 ++-
 5 files changed, 39 insertions(+), 9 deletions(-)

diff --git a/Main/Component/UI/Common/UIFuncOpen.cs b/Main/Component/UI/Common/UIFuncOpen.cs
index 08e825e..358bbc8 100644
--- a/Main/Component/UI/Common/UIFuncOpen.cs
+++ b/Main/Component/UI/Common/UIFuncOpen.cs
@@ -63,7 +63,8 @@
 
         if (funcBtn != null)
         {
-            funcBtn.interactable = IsOpen;
+            // 绂佺敤鎸夐挳鐨勭偣鍑讳簨浠讹紝浣嗕笉鏀瑰彉閫忔槑搴�
+            funcBtn.enabled = IsOpen;
         }
         
         
diff --git a/Main/System/HappyXB/HappyXBModel.cs b/Main/System/HappyXB/HappyXBModel.cs
index 662792f..6050fbf 100644
--- a/Main/System/HappyXB/HappyXBModel.cs
+++ b/Main/System/HappyXB/HappyXBModel.cs
@@ -433,6 +433,23 @@
         return freeCountToday < funcSet.DailyFreeCount;
     }
 
+
+    public int GetFreeCountToday(int type)
+    {
+        XBTypeInfo typeInfo = GetXBInfoByType(type);
+        if (typeInfo != null)
+        {
+            return typeInfo.freeCountToday;
+        }
+        
+        return 0;
+    }
+
+    public int GetDailyFreeCount(int type)
+    {
+        return TreasureSetConfig.Get(type).DailyFreeCount;
+    }
+
     //鑾峰彇杩橀渶澶氬皯娆″彲寰楀垢杩愬鍔�
     public int GetNextXBCountForBigAward(int type, out List<int> qualityList)
     {
@@ -442,7 +459,7 @@
         {
             return 0;
         }
-        
+
         var xbConfig = GetXBItemConfigByType(type);
         var luckList = xbConfig.LuckyItemRateInfo.Keys.ToList();
         luckList.Sort();
diff --git a/Main/System/HappyXB/HeroCallResultWin.cs b/Main/System/HappyXB/HeroCallResultWin.cs
index 195fb0d..93b9a17 100644
--- a/Main/System/HappyXB/HeroCallResultWin.cs
+++ b/Main/System/HappyXB/HeroCallResultWin.cs
@@ -227,9 +227,11 @@
         call1ItemIcon.SetOrgSprite(IconKey);
         var itemCount = PackManager.Instance.GetItemCountByID(PackType.Item, funcSet.CostItemID);
 
-        if (HappyXBModel.Instance.IsHaveFreeXB((int)HeroUIManager.Instance.selectCallType))
+        int todayFreeCount = HappyXBModel.Instance.GetFreeCountToday((int)HeroUIManager.Instance.selectCallType);
+        int dayMaxCount = HappyXBModel.Instance.GetDailyFreeCount((int)HeroUIManager.Instance.selectCallType);
+        if (todayFreeCount < dayMaxCount)
         {
-            call1Text.text = Language.Get("L1127");
+            call1Text.text = Language.Get("L1127") + (dayMaxCount - todayFreeCount) + "/" + dayMaxCount;
         }
         else
         {
diff --git a/Main/System/HappyXB/HeroCallWin.cs b/Main/System/HappyXB/HeroCallWin.cs
index 78c6793..9459e2a 100644
--- a/Main/System/HappyXB/HeroCallWin.cs
+++ b/Main/System/HappyXB/HeroCallWin.cs
@@ -74,9 +74,12 @@
         call1ItemIcon.SetOrgSprite(IconKey);
         call10ItemIcon.SetOrgSprite(IconKey);
         var itemCount = PackManager.Instance.GetItemCountByID(PackType.Item, funcSet.CostItemID);
-        if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
+        
+        int todayFreeCount = HappyXBModel.Instance.GetFreeCountToday((int)HappXBTitle.HeroCallAdvanced);
+        int dayMaxCount = HappyXBModel.Instance.GetDailyFreeCount((int)HappXBTitle.HeroCallAdvanced);
+        if (todayFreeCount < dayMaxCount)
         {
-            call1Text.text = Language.Get("L1127");
+            call1Text.text = Language.Get("L1127") + (dayMaxCount - todayFreeCount) + "/" + dayMaxCount;
         }
         else
         {
diff --git a/Main/Utility/ComponentExtersion.cs b/Main/Utility/ComponentExtersion.cs
index 7d6eb58..7199d1b 100644
--- a/Main/Utility/ComponentExtersion.cs
+++ b/Main/Utility/ComponentExtersion.cs
@@ -256,7 +256,9 @@
     }
 
 
-    public static void SetInteractable(this Button _btn, Text _btnText, bool _interactable)
+    // 璁剧疆鎸夐挳鏄惁鍙偣鍑伙紝涓旂疆鐏帮紝榛樿鍙栫涓�涓枃鏈紱鍥剧墖闇�鐢↖mageEx缁勪欢
+    // 鏇村鍔熻兘璇蜂娇鐢⊿etColorful
+    public static void SetInteractable(this Button _btn, bool _interactable, Text _btnText = null)
     {
         if (_btn != null)
         {
@@ -267,10 +269,15 @@
                 imageEx.gray = !_interactable;
             }
         }
+        if (_btnText == null)
+            _btnText = _btn.GetComponentInChildren<Text>();
         if (_btnText != null)
         {
-            _btnText.color = UIHelper.GetUIColor(_interactable ? TextColType.NavyBrown : TextColType.White);
-            //_btnText.color = _btnText.color.SetA(_interactable ? 1 : 0.5f);
+            //false 鐏拌壊锛宼rue 鍘熻壊
+            if (!_interactable)
+                _btnText.text = UIHelper.AppendColor(TextColType.NavyGray, _btnText.text);    //涓嶆敼鍙樼粍浠堕鑹诧紝鍙敼鍙樻樉绀洪鑹�
+            else
+                _btnText.text = UIHelper.AppendColor(_btnText.color, _btnText.text);
         }
     }
 

--
Gitblit v1.8.0