少年修仙传客户端代码仓库
hch
2024-12-16 9377811d0ba27047e1e5ec2348a28eba1033d59d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using UnityEngine;
using vnxbqy.UI;
 
public class CelestialPalaceTreeWin : Window
{
    [SerializeField] ScrollerController scroller;
 
 
    CelestialPalaceModel model { get { return ModelCenter.Instance.GetModel<CelestialPalaceModel>(); } }
    protected override void BindController()
    {
 
    }
 
    protected override void AddListeners()
    {
 
    }
 
    protected override void OnPreOpen()
    {
        scroller.OnRefreshCell += OnRefreshCell;
        model.UpdateTiandaoTreeInfoEvent += OnUpdateTiandaoTreeInfoEvent;
    }
 
    protected override void OnPreClose()
    {
        scroller.OnRefreshCell -= OnRefreshCell;
        model.UpdateTiandaoTreeInfoEvent -= OnUpdateTiandaoTreeInfoEvent;
    }
 
    private void OnUpdateTiandaoTreeInfoEvent()
    {
        scroller.m_Scorller.RefreshActiveCellViews();
    }
 
    protected override void OnAfterOpen()
    {
        CreateScroller();
    }
 
    protected override void OnAfterClose()
    {
 
    }
 
    void CreateScroller()
    {
        if (model.normalRowIndexList == null) return;
        var normalRowIndexList = model.normalRowIndexList;
        scroller.Refresh();
        scroller.AddCell(ScrollerDataType.Header, model.headerRowIndex);
        for (int i = 0; i < normalRowIndexList.Count; i++)
        {
            CellInfo cellInfo = new CellInfo { infoInt1 = normalRowIndexList[i][1] };
            scroller.AddCell(ScrollerDataType.Normal, normalRowIndexList[i][0], cellInfo);
        }
        scroller.AddCell(ScrollerDataType.Tail, model.tailRowIndex);
        scroller.Restart();
        scroller.JumpIndex(model.GetJumpRowIndex());
    }
 
    void OnRefreshCell(ScrollerDataType type, CellView cell)
    {
        if (type == ScrollerDataType.Header)
        {
            var _cell = cell as CelestialPalaceTreeHeaderCell;
            _cell.Display(_cell.index);
        }
        else if (type == ScrollerDataType.Normal)
        {
            var _cell = cell as CelestialPalaceTreeNormalCell;
            _cell.Display(_cell.index, cell);
        }
        else
        {
            var _cell = cell as CelestialPalaceTreeTailCell;
            _cell.Display(_cell.index);
        }
    }
}