//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, March 05, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class ImpactBillRankWin : Window { [SerializeField] Text m_RankTypeTxt; [SerializeField] Text m_CompareTitle; [SerializeField] ScrollerController m_RankCtrl; [SerializeField] Text m_SelfRank; [SerializeField] Button m_CloseBtn; ImpactRankModel m_Model; ImpactRankModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_CloseBtn.onClick.AddListener(CloseClick); } protected override void OnPreOpen() { PlayerDatas.Instance.rank.OnRefreshRank += OnRefreshRank; OnRefreshRank((int)model.presentBillRankType); RefreshRankType(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { PlayerDatas.Instance.rank.OnRefreshRank -= OnRefreshRank; } protected override void OnAfterClose() { } #endregion private void RefreshRankType() { m_CompareTitle.text = Language.Get(StringUtility.Contact("OSCBillRankCompare_", model.presentBillRankType)); m_RankTypeTxt.text = Language.Get(StringUtility.Contact("OSCBillRankTitle_", model.presentBillRankType)); } private void OnRefreshRank(int type) { if ((int)model.presentBillRankType != type) { return; } if (m_RankCtrl.GetNumberOfCells(m_RankCtrl.m_Scorller) < 1) { m_RankCtrl.Refresh(); for (int i = 0; i < 100; i++) { if (i % 2 == 0) { m_RankCtrl.AddCell(ScrollerDataType.Normal, i); } else { m_RankCtrl.AddCell(ScrollerDataType.Header, i); } } m_RankCtrl.Restart(); } else { m_RankCtrl.m_Scorller.RefreshActiveCellViews(); m_RankCtrl.JumpIndex(0); } int rank = PlayerDatas.Instance.rank.GetSelfRank(type); if (rank == -1) { m_SelfRank.text = Language.Get("L1045"); } else { m_SelfRank.text = Language.Get("L1092", rank); } } } }