//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, January 28, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
|
public class CrossServerBattleFieldOpenTimeWin : ILWindow
|
{
|
Button selectBtn;
|
Button closeBtn;
|
ScrollerController scroller;
|
|
|
#region Built-in
|
protected override void BindController()
|
{
|
selectBtn = proxy.GetWidgtEx<Button>("OK");
|
closeBtn = proxy.GetWidgtEx<Button>("CloseBtn");
|
scroller = proxy.GetWidgtEx<ScrollerController>("scroller");
|
|
}
|
|
protected override void AddListeners()
|
{
|
|
closeBtn.SetListener(()=> {
|
WindowCenter.Instance.CloseIL<CrossServerBattleFieldOpenTimeWin>();
|
});
|
|
selectBtn.SetListener(() => {
|
if (ILCrossServerModel.Instance.selectIndex != -1)
|
{
|
var curTimeIndex = ILCrossServerModel.Instance.GetCurBattleFieldIndex();
|
//不可选择过期场
|
ILCrossServerModel.Instance.selectIndex = ILCrossServerModel.Instance.selectActionCell >= curTimeIndex ? ILCrossServerModel.Instance.selectActionCell : curTimeIndex;
|
}
|
WindowCenter.Instance.CloseIL<CrossServerBattleFieldOpenTimeWin>();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
ILCrossServerModel.Instance.selectActionCell = ILCrossServerModel.Instance.selectIndex;
|
ILCrossServerModel.Instance.onSelectActionCellUpdate += onSelectActionCellUpdate;
|
scroller.OnRefreshCell += OnRefreshCell;
|
CreateTimeScroller();
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= OnRefreshCell;
|
ILCrossServerModel.Instance.onSelectActionCellUpdate -= onSelectActionCellUpdate;
|
}
|
#endregion
|
|
void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetILBehaviour<CrossServerBattleFieldTimeCell>();
|
_cell.Display(cell.index);
|
}
|
|
void onSelectActionCellUpdate()
|
{
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
|
void CreateTimeScroller()
|
{
|
scroller.Refresh();
|
for (int i = 0; i < ILCrossServerModel.Instance.crossBattleFieldOpenTimes.Count; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
|
scroller.Restart();
|
scroller.m_Scorller.RefreshActiveCellViews();
|
|
scroller.JumpIndex(ILCrossServerModel.Instance.selectActionCell);
|
}
|
}
|