From f4a702e212d1853735f8dae399da69d23bfa510e Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 26 三月 2026 18:16:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into h5version

---
 Main/System/OSActivity/OSGalaGiftCell.cs |   50 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/Main/System/OSActivity/OSGalaGiftCell.cs b/Main/System/OSActivity/OSGalaGiftCell.cs
index 47f3a28..f14a629 100644
--- a/Main/System/OSActivity/OSGalaGiftCell.cs
+++ b/Main/System/OSActivity/OSGalaGiftCell.cs
@@ -5,6 +5,11 @@
 
 public class OSGalaGiftCell : CellView
 {
+    [SerializeField] ImageEx vipImage;
+    [SerializeField] TextEx vipText;
+    [SerializeField] OutlineEx vipTextOutline;
+    [SerializeField] ImageEx rateImage;
+    [SerializeField] TextEx rateText;
     [SerializeField] Text nameText;
     [SerializeField] ItemCell[] itemCells;
     [SerializeField] Button buyBtn;
@@ -24,6 +29,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];
@@ -53,12 +70,30 @@
                         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.OpenWindow<PrivilegeCardWin>();
+                        return;
+                    }
+                    if (ctgConfig.VipLevel == 2 && !InvestModel.Instance.IsInvested(InvestModel.foreverCardType))
+                    {
+                        SysNotifyMgr.Instance.ShowTip("MinggeAuto7");
+                        UIManager.Instance.OpenWindow<PrivilegeCardWin>();
+                        return;
+                    }
+
                     RechargeManager.Instance.CTG(id);
                 });
 
                 RechargeManager.Instance.TryGetOrderInfo(id, out var orderInfo);
 
-                moneyText.text = Language.Get("PayMoneyNum", orderInfo.PayRMBNumOnSale);
+                moneyText.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderInfo.PayRMBNumOnSale));
                 moneyIcon.SetActive(false);
             }
             else
@@ -73,6 +108,8 @@
         }
         else
         {
+            rateImage.SetActive(false);
+            vipImage.SetActive(false);
             //鍟嗗簵
             var storeConfig = StoreConfig.Get(id);
             nameText.text = storeConfig.Name;
@@ -118,9 +155,16 @@
                 });
                 moneyText.text = storeConfig.MoneyNum == 0 ? Language.Get("L1127") : storeConfig.MoneyNum.ToString();
                 moneyIcon.SetActive(storeConfig.MoneyNum != 0);
-                moneyIcon.SetIconWithMoneyType(storeConfig.MoneyType);
+                if (storeConfig.MoneyType <= 0)
+                {
+                    moneyIcon.SetItemSprite(storeConfig.CostItemID);
+                }
+                else
+                {
+                    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