//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, November 01, 2017 //-------------------------------------------------------- using System; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class SecretPlaceSuperItemWin : Window { [SerializeField] Button closeBtn; [SerializeField] ScrollerController m_ItemScrollControl; [SerializeField] Button selectBtn; SecretPlaceXBModel model { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { closeBtn.SetListener(CloseClick); selectBtn.SetListener(() => { var itemID = model.operationAct.selectItemIDSort[model.selectIndex]; //已领取,层数不够 var itemInfo = model.operationAct.selectItems[itemID]; if (model.operationAct.layerNum < itemInfo.LayerLimit) { SysNotifyMgr.Instance.ShowTip("XianXiaMJ33"); return; } if (itemInfo.TotalTimesMax != 0 && itemInfo.TotalTimesNow == itemInfo.TotalTimesMax) { SysNotifyMgr.Instance.ShowTip("XianXiaMJ34"); return; } model.SendSelectBigAward((uint)itemID); CloseClick(); }); } protected override void OnPreOpen() { m_ItemScrollControl.OnRefreshCell += OnRefreshCell; model.onSelectUpdate += onSelectUpdate; } protected override void OnAfterOpen() { Display(); } protected override void OnPreClose() { m_ItemScrollControl.OnRefreshCell -= OnRefreshCell; model.onSelectUpdate -= onSelectUpdate; } protected override void OnAfterClose() { } #endregion void Display() { DisplayScrollor(); } void DisplayScrollor() { var lines = Math.Max(model.operationAct.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) { SecretPlaceXBSuperItemCell gridCell = cell.GetComponent(); gridCell.Display(cell.index); } void onSelectUpdate() { m_ItemScrollControl.m_Scorller.RefreshActiveCellViews(); } } }