From 51b0f6ed9f4e1d3bb6f8144470b46908c7699a96 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 11 五月 2026 16:20:37 +0800
Subject: [PATCH] Merge branch 'master' into h5version

---
 Main/System/OSActivity/OSRankGiftBaseCell.cs |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/Main/System/OSActivity/OSRankGiftBaseCell.cs b/Main/System/OSActivity/OSRankGiftBaseCell.cs
index ac6fe6f..25b67f0 100644
--- a/Main/System/OSActivity/OSRankGiftBaseCell.cs
+++ b/Main/System/OSActivity/OSRankGiftBaseCell.cs
@@ -1,8 +1,14 @@
+锘縰sing Cysharp.Threading.Tasks;
 using UnityEngine;
 using UnityEngine.UI;
 
 public abstract class OSRankGiftBaseCell : CellView
 {
+    [SerializeField] protected ImageEx vipImage;
+    [SerializeField] protected TextEx vipText;
+    [SerializeField] protected OutlineEx vipTextOutline;
+    [SerializeField] protected ImageEx rateImage;
+    [SerializeField] protected TextEx rateText;
     [SerializeField] protected Text nameText;
     [SerializeField] protected ItemCell[] itemCells;
     [SerializeField] protected Button buyBtn;
@@ -27,6 +33,18 @@
             id -= 100000000;
             var ctgConfig = CTGConfig.Get(id);
             nameText.text = ctgConfig.Title;
+
+            vipImage.SetActive(ctgConfig.VipLevel > 0);
+            if (ctgConfig.VipLevel > 0)
+            {
+                vipImage.SetSprite($"VipLevel{ctgConfig.VipLevel}");
+                vipText.text = Language.Get($"VipLevelInfo{ctgConfig.VipLevel}");
+                vipText.color = InvestModel.Instance.GetTextColor(ctgConfig.VipLevel);
+                vipTextOutline.OutlineColor = InvestModel.Instance.GetOutlineColor(ctgConfig.VipLevel);
+            }
+
+            rateImage.SetActive(true);
+            rateText.text = Language.Get("DailySpecials07", ctgConfig.Percentage);
             for (int i = 0; i < itemCells.Length; i++)
             {
                 var itemCell = itemCells[i];
@@ -35,14 +53,14 @@
                     itemCell.SetActive(true);
                     int itemID = ctgConfig.GainItemList[i][0];
                     itemCell.Init(new ItemCellModel(itemID, true, ctgConfig.GainItemList[i][1]));
-                    itemCell.button.SetListener(() => ItemTipUtility.Show(itemID));
+                    itemCell.SetClickListener(() => ItemTipUtility.Show(itemID));
                 }
                 else
                 {
                     itemCell.SetActive(false);
                 }
             }
-            
+
             RechargeManager.Instance.TryGetRechargeCount(id, out var rechargeCount);
             var limitCnt = ctgConfig.DailyBuyCount;
             if (rechargeCount.todayCount < limitCnt)
@@ -57,6 +75,25 @@
                         SysNotifyMgr.Instance.ShowTip("ActivityOver");
                         return;
                     }
+
+                    if (ctgConfig.VipLevel > 0 && !FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.PrivilegeCard))
+                    {
+                        SysNotifyMgr.Instance.ShowTip("MinggeAuto8");
+                        return;
+                    }
+                    if (ctgConfig.VipLevel == 1 && !InvestModel.Instance.IsInvested(InvestModel.monthCardType))
+                    {
+                        SysNotifyMgr.Instance.ShowTip("MinggeAuto5");
+                        UIManager.Instance.OpenWindowAsync<PrivilegeCardWin>().Forget();
+                        return;
+                    }
+                    if (ctgConfig.VipLevel == 2 && !InvestModel.Instance.IsInvested(InvestModel.foreverCardType))
+                    {
+                        SysNotifyMgr.Instance.ShowTip("MinggeAuto7");
+                        UIManager.Instance.OpenWindowAsync<PrivilegeCardWin>().Forget();
+                        return;
+                    }
+
                     RechargeManager.Instance.CTG(id);
                 });
 
@@ -76,6 +113,8 @@
         }
         else
         {
+            rateImage.SetActive(false);
+            vipImage.SetActive(false);
             // 鍟嗗簵鐗╁搧
             var storeConfig = StoreConfig.Get(id);
             nameText.text = storeConfig.Name;
@@ -88,7 +127,7 @@
                     itemCell.SetActive(true);
                     int itemID = awards[i][0];
                     itemCell.Init(new ItemCellModel(itemID, true, awards[i][1]));
-                    itemCell.button.SetListener(() => ItemTipUtility.Show(itemID));
+                    itemCell.SetClickListener(() => ItemTipUtility.Show(itemID));
                 }
                 else
                 {
@@ -130,7 +169,7 @@
                     moneyIcon.SetIconWithMoneyType(storeConfig.MoneyType);
                 }
                 redImg.SetActive(storeConfig.MoneyNum == 0);
-            }   
+            }
             var buyCnt = StoreModel.Instance.GetShopLimitBuyCount(id);
             buyLimitText.text = Language.Get("storename6", storeConfig.LimitCnt - buyCnt, storeConfig.LimitCnt);
         }

--
Gitblit v1.8.0