yyl
2026-01-21 69fdc58cb97714f856df268f08451f2ba7e5ecf2
Main/System/Main/EquipRecordWin.cs
@@ -1,33 +1,59 @@
using System;
using System.Collections.Generic;
using UnityEngine;
public class EquipRecordWin : UIBase
{
    [SerializeField] ScrollerController scroller;
    [SerializeField] Transform transNo;
    [SerializeField] TextEx txtTip;
    EquipRecordManager manager { get { return EquipRecordManager.Instance; } }
    protected override void OnPreOpen()
    {
        scroller.OnRefreshCell += OnRefreshCell;
        CreateScroller();
        manager.OnUpdateRecordListEvent += OnUpdateRecordListEvent;
        txtTip.text = Language.Get("AutoFight17", manager.maxCnt);
        scroller.lockType = EnhanceLockType.KeepVertical;
        CreateScroller(isSort: true, isjump: true);
    }
    protected override void OnPreClose()
    {
        scroller.OnRefreshCell -= OnRefreshCell;
        manager.OnUpdateRecordListEvent -= OnUpdateRecordListEvent;
    }
    private void OnUpdateRecordListEvent()
    {
        CreateScroller();
    }
    private void OnRefreshCell(ScrollerDataType type, CellView cell)
    {
        var _cell = cell.GetComponent<EquipRecordCell>();
        _cell?.Display(cell.index);
        _cell?.Display(cell.index, list);
    }
    private void CreateScroller()
    List<EquipRecordManager.EquipRecordData> list;
    private void CreateScroller(bool isSort = false, bool isjump = false)
    {
        scroller.Refresh();
        for (int i = 0; i < 20; i++)
        list = manager.GetRecordList(isSort);
        bool isNullOrEmpty = list.IsNullOrEmpty();
        transNo.SetActive(isNullOrEmpty);
        if (!isNullOrEmpty)
        {
            scroller.AddCell(ScrollerDataType.Header, i);
            for (int i = list.Count - 1; i >= 0; i--)
            {
                scroller.AddCell(ScrollerDataType.Header, i);
            }
        }
        scroller.Restart();
        if (isjump)
        {
            scroller.JumpIndex(0);
        }
    }
}