//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Saturday, September 09, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using vnxbqy.UI; using EnhancedUI.EnhancedScroller; namespace vnxbqy.UI { public class FairyBossAwardWin : Window { [SerializeField] Button close; [SerializeField] ScrollerController m_AwardCtrl; [SerializeField, Header("每行奖励个数")] int m_AwardLineCnt = 5; FairyBossModel m_Model; FairyBossModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } int[] m_AwardItems; private void OnRefreshAwardCell(ScrollerDataType type, CellView cell) { var _line = cell.index; var _awardCell = cell as FairyBossAwardCell; for (int i = 0; i < m_AwardLineCnt; i++) { var _index = _line * m_AwardLineCnt + i; if (_index < m_AwardItems.Length) { _awardCell.Init(i, m_AwardItems[_index]); } else { _awardCell.Init(i, 0); } } } private void InitAward() { var _stage = UIHelper.GetIntervalAward(model.fairyBossAwardDict.Keys, (int)PlayerDatas.Instance.worldLv); m_AwardCtrl.Refresh(); m_AwardItems = model.fairyBossAwardDict[_stage]; int _line = Mathf.CeilToInt((float)m_AwardItems.Length / m_AwardLineCnt); for (int i = 0; i < _line; i++) { m_AwardCtrl.AddCell(ScrollerDataType.Normal, i); } m_AwardCtrl.Restart(); } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_AwardCtrl.OnRefreshCell += OnRefreshAwardCell; close.onClick.AddListener(CloseClick); } protected override void OnPreOpen() { InitAward(); m_AwardCtrl.JumpIndex(0); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } #endregion } }