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);
|
}
|
}
|
}
|