//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, December 11, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using EnhancedUI.EnhancedScroller; namespace Snxxz.UI { //积分排名 [XLua.Hotfix] public class RankingWin : Window { [SerializeField] ScrollerController m_ScrollerController; [SerializeField] Button m_CloseButton; [SerializeField] Text m_TextMyRank;//我的排名 [SerializeField] Text m_TextScores;//我的积分 [SerializeField] Text m_NumberText;//赛季 [SerializeField] GameObject m_DivisionObj;//赛区 [SerializeField] Text m_DivisionNameText1;//赛区名 [SerializeField] Button m_PullButton1;//拉选按钮 [SerializeField] GameObject m_ClickScreenOtherSpace1; [SerializeField] ScrollerController m_ScrollerController1; [SerializeField] GameObject m_SeasonObj;//赛季 [SerializeField] Text m_DivisionNameText2;//赛季名 [SerializeField] Button m_PullButton2;//拉选按钮 [SerializeField] GameObject m_ClickScreenOtherSpace2; [SerializeField] ScrollerController m_ScrollerController2; [SerializeField] Text m_Text_A; CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel(); } } CrossServerOneVsOneRewardModel m_CrossServerRewardModel; CrossServerOneVsOneRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel()); } } private int NeedDanLv = 0; #region Built-in protected override void BindController() { m_ScrollerController.OnRefreshCell += OnRefreshGridCell; m_ScrollerController1.OnRefreshCell += OnRefreshGridCell_Z;//赛区 m_ScrollerController2.OnRefreshCell += OnRefreshGridCell_S;//赛季 var configNum1 = FuncConfigConfig.Get("CrossRealmPKCfg").Numerical1; var _jsonDataC = LitJson.JsonMapper.ToObject(configNum1); if (_jsonDataC.Count > 0) { NeedDanLv = int.Parse(_jsonDataC[1].ToString()); } var config = CrossServerArenaConfig.Get(NeedDanLv); if (config != null) { m_Text_A.text = Language.Get("CrossServer121", config.Name); } } protected override void AddListeners() { m_CloseButton.AddListener(() => { Close(); }); m_PullButton1.AddListener(OnClickPullButton1); m_PullButton2.AddListener(OnClickPullButton2); } protected override void OnPreOpen() { SetZoneIDAndSeasonID(); ZoneAndSeasonpanel(); m_NumberText.text = CrossServerOneVsOnePKSeason.Instance.SeasonID.ToString(); m_TextScores.text = CrossServerOneVsOnePlayerInfo.Instance.Score.ToString(); SetTextMyRank(); SetZoneAndSeasonNum(); OnCreateGridLineCell(m_ScrollerController); OnCreateGridLineCell_Z(m_ScrollerController1); OnCreateGridLineCell_S(m_ScrollerController2); m_ScrollerController.JumpIndex(0); } protected override void OnActived() { crossServerRewardModel.ViewCrossPKBillboard(crossServerRewardModel.ZoneID, crossServerRewardModel.SeasonID);//关于赛季查询 } protected override void OnAfterOpen() { CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfoEvent; crossServerRewardModel.RankInformationUpdate += RankInformationUpdate; } protected override void OnPreClose() { CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdatePlayerInfoEvent; crossServerRewardModel.RankInformationUpdate -= RankInformationUpdate; } protected override void OnAfterClose() { } #endregion private void RankInformationUpdate() { SetZoneAndSeasonNum(); OnCreateGridLineCell(m_ScrollerController); OnCreateGridLineCell_S(m_ScrollerController2); SetTextMyRank(); ZoneAndSeasonpanel(); m_ScrollerController.JumpIndex(0); } private void OnClickPullButton1() { m_ClickScreenOtherSpace1.SetActive(!m_ClickScreenOtherSpace1.activeSelf); } private void OnClickPullButton2() { m_ClickScreenOtherSpace2.SetActive(!m_ClickScreenOtherSpace2.activeSelf); } private void UpdatePlayerInfoEvent() { SetTextMyRank(); } void OnCreateGridLineCell(ScrollerController gridCtrl) { gridCtrl.Refresh(); for (int i = 0; i < 100; i++) { if (i == 0) { gridCtrl.AddCell(ScrollerDataType.Normal, i); continue; } if (i % 2 != 0) { gridCtrl.AddCell(ScrollerDataType.Header, i); } else { gridCtrl.AddCell(ScrollerDataType.Normal, i); } } gridCtrl.Restart(); } void OnCreateGridLineCell_Z(ScrollerController gridCtrl)//赛区 { gridCtrl.Refresh(); for (int i = 0; i < CrossServerOneVsOnePKSeason.Instance.ZoneCount; i++) { gridCtrl.AddCell(ScrollerDataType.Header, i); } gridCtrl.Restart(); } void OnCreateGridLineCell_S(ScrollerController gridCtrl)//赛季 { gridCtrl.Refresh(); for (int i = 0; i < CrossServerOneVsOnePKSeason.Instance.ZoneCount; i++) { if (CrossServerOneVsOnePKSeason.Instance.ZoneIDList[i].ZoneID == crossServerRewardModel.ZoneID) { var list = CrossServerOneVsOnePKSeason.Instance.ZoneIDList[i].SeasonList; for (int j = 0; j < list.Count; j++) { gridCtrl.AddCell(ScrollerDataType.Header, list[j].SeasonID); } } } gridCtrl.Restart(); } private void OnRefreshGridCell(ScrollerDataType type, CellView cell) { } private void OnRefreshGridCell_Z(ScrollerDataType type, CellView cell)//赛区 { int Index = cell.index; Button Btn = cell.GetComponent