//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, June 11, 2019
|
//--------------------------------------------------------
|
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
using System.Collections.Generic;
|
using System;
|
|
public class HolidayXianxiaMJSuperItemWin : ILWindow
|
{
|
Button closeBtn;
|
ScrollerController m_ItemScrollControl;
|
Button selectBtn;
|
|
public static event Action OnBigAwardWinClose;
|
#region Built-in
|
protected override void BindController()
|
{
|
m_ItemScrollControl = proxy.GetWidgtEx<ScrollerController>("ScrollerController");
|
closeBtn = proxy.GetWidgtEx<Button>("CloseBtn");
|
selectBtn = proxy.GetWidgtEx<Button>("OK");
|
|
|
}
|
|
protected override void AddListeners()
|
{
|
closeBtn.SetListener(() => {
|
WindowCenter.Instance.CloseIL<HolidayXianxiaMJSuperItemWin>();
|
});
|
selectBtn.SetListener(() => {
|
OperationBase operationBase = null;
|
if (!OperationTimeHepler.Instance.TryGetOperationTime(HolidayXianXiaMJModel.operationType, out operationBase))
|
{
|
return;
|
}
|
OperationXianXiaMJLottery operation = operationBase as OperationXianXiaMJLottery;
|
|
var itemID = operation.selectItemIDSort[HolidayXianXiaMJModel.Instance.selectIndex];
|
//已领取,层数不够
|
var itemInfo = operation.selectItems[itemID];
|
if (operation.layerNum < itemInfo.LayerLimit)
|
{
|
SysNotifyMgr.Instance.ShowTip("XianXiaMJ33");
|
return;
|
}
|
if (itemInfo.TotalTimesMax != 0 && itemInfo.TotalTimesNow == itemInfo.TotalTimesMax)
|
{
|
SysNotifyMgr.Instance.ShowTip("XianXiaMJ34");
|
return;
|
}
|
HolidayXianXiaMJModel.Instance.SendSelectBigAward((uint)itemID);
|
WindowCenter.Instance.CloseIL<HolidayXianxiaMJSuperItemWin>();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
m_ItemScrollControl.OnRefreshCell += OnRefreshCell;
|
HolidayXianXiaMJModel.Instance.onSelectUpdate += onSelectUpdate;
|
}
|
|
|
protected override void OnAfterOpen()
|
{
|
Display();
|
}
|
|
|
protected override void OnPreClose()
|
{
|
m_ItemScrollControl.OnRefreshCell -= OnRefreshCell;
|
HolidayXianXiaMJModel.Instance.onSelectUpdate -= onSelectUpdate;
|
OnBigAwardWinClose?.Invoke();
|
}
|
|
|
|
#endregion
|
|
|
void Display()
|
{
|
DisplayScrollor();
|
}
|
|
void DisplayScrollor()
|
{
|
OperationBase operationBase = null;
|
if (!OperationTimeHepler.Instance.TryGetOperationTime(HolidayXianXiaMJModel.operationType, out operationBase))
|
{
|
return;
|
}
|
OperationXianXiaMJLottery operation = operationBase as OperationXianXiaMJLottery;
|
|
var lines = Math.Max(operation.selectItemIDSort.Count - 1, 0) / 4 + 1;
|
m_ItemScrollControl.Refresh();
|
for (int i = 0; i < lines; i++)
|
{
|
m_ItemScrollControl.AddCell(ScrollerDataType.Header, i);
|
}
|
m_ItemScrollControl.Restart();
|
|
}
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
XianxiaMJSuperItemsCell gridCell = cell.GetILBehaviour<XianxiaMJSuperItemsCell>();
|
gridCell.Display(cell.index);
|
}
|
|
void onSelectUpdate()
|
{
|
m_ItemScrollControl.m_Scorller.RefreshActiveCellViews();
|
}
|
}
|