lcy
2026-07-06 7fa46d2bf427f8216bf2b011cf65453e7aceebc8
579 炼器大会 奖励界面和礼包界面修改

1.奖励界面最多显示5个奖励
2.礼包界面最多显示4个物品
3.修复奖励界面关闭按钮
2个文件已修改
62 ■■■■■ 已修改文件
Main/System/LianQi/LianQiAwardWin.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/LianQi/LianQiRankAwardCell.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/LianQi/LianQiAwardWin.cs
@@ -3,11 +3,13 @@
public class LianQiAwardWin : UIBase
{
    [SerializeField] ButtonEx closeButton;
    [SerializeField] ScrollerController awardScroller;
    [HideInInspector] public string valueFormat = "{0}";
    [SerializeField] TextEx myScore;//语言表:
    [SerializeField] TextEx myRank;
    [SerializeField] ScrollerController myAwardScroller;
    [SerializeField] Transform noAward;
    [SerializeField] ButtonEx getButton;
    [SerializeField] ImageEx getImage;
    [SerializeField] ImageEx redImage;
@@ -18,6 +20,7 @@
    {
        base.InitComponent();
        getButton.SetListener(OnClickGetButton);
        closeButton.SetListener(CloseWindow);
    }
    protected override void OnPreOpen()
@@ -93,6 +96,7 @@
        SetGetButtonState(hasRankRefresh && manager.CanHaveBillAward());
        if (hasAward && config != null)
        {
            noAward.SetActive(false);
            myAwardScroller.SetActive(true);
            CreateMyAwardScroller(config.AwardItemList);
        }
@@ -101,6 +105,7 @@
            myAwardScroller.Refresh();
            myAwardScroller.Restart();
            myAwardScroller.SetActive(false);
            noAward.SetActive(true);
        }
    }
Main/System/LianQi/LianQiRankAwardCell.cs
@@ -4,21 +4,17 @@
{
    [SerializeField] ImageEx imgRank;
    [SerializeField] TextEx txtRank;
    [SerializeField] ScrollerController itemScroller;
    private void OnDisable()
    {
        UnbindItemScroller();
    }
    [SerializeField] ItemCell[] itemCells;
    public void Display(int rankA, int templateID)
    {
        UnbindItemScroller();
        var config = ActBillboardAwardConfig.GetConfig(templateID, rankA);
        if (config == null)
        {
            itemScroller.Refresh();
            itemScroller.Restart();
            for (int i = 0; i < itemCells.Length; i++)
            {
                itemCells[i].SetActive(false);
            }
            return;
        }
@@ -37,36 +33,21 @@
            txtRank.text = Language.Get("Arena15", rankA, config.RankB);
        }
        CreateItemScroller(config.AwardItemList);
    }
    private void CreateItemScroller(int[][] rewardArr)
    {
        itemScroller.OnRefreshCell += OnRefreshItemCell;
        itemScroller.OnRefreshCompleteEvent += OnRefreshItemComplete;
        itemScroller.Refresh();
        for (int i = 0; i < rewardArr.Length; i++)
        int[][] rewardArr = config.AwardItemList;
        for (int i = 0; i < itemCells.Length; i++)
        {
            CellInfo info = new CellInfo(rewardArr[i][0], rewardArr[i][1], null);
            itemScroller.AddCell(ScrollerDataType.Header, i, info);
            var itemCell = itemCells[i];
            if (!rewardArr.IsNullOrEmpty() && i < rewardArr.Length)
            {
                int itemID = rewardArr[i][0];
                itemCell.SetActive(true);
                itemCell.Init(new ItemCellModel(itemID, true, rewardArr[i][1]));
                itemCell.SetClickListener(() => ItemTipUtility.Show(itemID, true));
            }
            else
            {
                itemCell.SetActive(false);
            }
        }
        itemScroller.Restart();
    }
    private void OnRefreshItemComplete()
    {
        UnbindItemScroller();
    }
    private void OnRefreshItemCell(ScrollerDataType type, CellView cell)
    {
        var _cell = cell.GetComponent<LianQiRankAwardItemCell>();
        _cell?.Display(cell);
    }
    private void UnbindItemScroller()
    {
        itemScroller.OnRefreshCell -= OnRefreshItemCell;
        itemScroller.OnRefreshCompleteEvent -= OnRefreshItemComplete;
    }
}