yyl
2026-05-11 51b0f6ed9f4e1d3bb6f8144470b46908c7699a96
Main/System/OSActivity/OSRankHeroCallGiftCell.cs
@@ -1,10 +1,16 @@
using System.Collections.Generic;
using System.Linq;
using Cysharp.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
public class OSRankHeroCallGiftCell : 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 +30,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];
@@ -32,7 +50,7 @@
                    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
                {
@@ -48,12 +66,35 @@
                buyBtn.SetActive(true);
                buyBtn.SetListener(() =>
                {
                    if (!OSActivityManager.Instance.IsOpened(4, false))
                    {
                        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);
                });
                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
@@ -68,6 +109,8 @@
        }
        else
        {
            rateImage.SetActive(false);
            vipImage.SetActive(false);
            //商店
            var storeConfig = StoreConfig.Get(id);
            nameText.text = storeConfig.Name;
@@ -80,7 +123,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
                {
@@ -103,13 +146,26 @@
                buyBtn.SetActive(true);
                buyBtn.SetListener(() =>
                {
                    if (!OSActivityManager.Instance.IsOpened(4, false))
                    {
                        SysNotifyMgr.Instance.ShowTip("ActivityOver");
                        return;
                    }
                    StoreModel.Instance.SendBuyShopItemWithPopCheck(storeConfig, 1);
                });
                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);