//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, January 28, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
public class CrossServerBattleFieldRankWin : ILWindow
|
{
|
Button Btn_Close;
|
Button Btn_CYRank;
|
Button Btn_ZJRank;
|
Button Btn_JFRank;
|
List<Image> selectImages = new List<Image>();
|
Text myRank;
|
Text myRankName;
|
Text myRankValue;
|
Text myRankValueEx;
|
RichText rankRule;
|
ScrollerController scroller;
|
|
RankModel rankModel { get { return ModelCenter.Instance.GetModel<RankModel>(); } }
|
|
|
#region Built-in
|
protected override void BindController()
|
{
|
Btn_Close = proxy.GetWidgtEx<Button>("Btn_Close");
|
Btn_CYRank = proxy.GetWidgtEx<Button>("Btn_CYRank");
|
Btn_ZJRank = proxy.GetWidgtEx<Button>("Btn_ZJRank");
|
Btn_JFRank = proxy.GetWidgtEx<Button>("Btn_JFRank");
|
selectImages.Add(proxy.GetWidgtEx<Image>("Img_Select0"));
|
selectImages.Add(proxy.GetWidgtEx<Image>("Img_Select1"));
|
selectImages.Add(proxy.GetWidgtEx<Image>("Img_Select2"));
|
myRank = proxy.GetWidgtEx<Text>("Txt_Rank");
|
myRankName = proxy.GetWidgtEx<Text>("Txt_TotalTarget");
|
myRankValue = proxy.GetWidgtEx<Text>("Txt_TotalTargetValue");
|
myRankValueEx = proxy.GetWidgtEx<Text>("Txt_TotalTargetValueEx");
|
rankRule = proxy.GetWidgtEx<RichText>("rankRule");
|
scroller = proxy.GetWidgtEx<ScrollerController>("Scroller");
|
|
}
|
|
protected override void AddListeners()
|
{
|
|
Btn_Close.SetListener(()=> {
|
WindowCenter.Instance.CloseIL<CrossServerBattleFieldRankWin>();
|
});
|
|
Btn_CYRank.SetListener(() => {
|
ILCrossServerModel.Instance.selectRankIndex = 0;
|
Display();
|
});
|
|
Btn_ZJRank.SetListener(() => {
|
ILCrossServerModel.Instance.selectRankIndex = 1;
|
Display();
|
});
|
|
Btn_JFRank.SetListener(() => {
|
ILCrossServerModel.Instance.selectRankIndex = 2;
|
Display();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
scroller.OnRefreshCell += OnRefreshCell;
|
ILCrossServerModel.Instance.selectRankIndex = 0;
|
Display();
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= OnRefreshCell;
|
}
|
#endregion
|
|
void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetILBehaviour<CrossServerBattleFieldRankCell>();
|
_cell.Display(cell.index);
|
}
|
|
void Display()
|
{
|
for (int i = 0; i < selectImages.Count; i++)
|
{
|
if (i == ILCrossServerModel.Instance.selectRankIndex)
|
{
|
selectImages[i].SetActiveIL(true);
|
}
|
else
|
{
|
selectImages[i].SetActiveIL(false);
|
}
|
}
|
int rank;
|
rankModel.TryGetMyRank(ILCrossServerModel.Instance.rankTypes[ILCrossServerModel.Instance.selectRankIndex], out rank);
|
myRank.text = rank == 0 ? Language.Get("CrossServer123") : rank.ToString();
|
myRankName.text = Language.Get("CrossBattleField47_" + ILCrossServerModel.Instance.selectRankIndex);
|
switch (ILCrossServerModel.Instance.selectRankIndex)
|
{
|
case 0:
|
myRankValue.text = ILCrossServerModel.Instance.EnterCountWeek.ToString();
|
myRankValueEx.SetActiveIL(false);
|
break;
|
case 1:
|
myRankValue.text = ILCrossServerModel.Instance.BuyOpenCountWeek.ToString();
|
myRankValueEx.SetActiveIL(true);
|
myRankValueEx.text = Language.Get("CrossBattleField48_1", ILCrossServerModel.Instance.BuyOpenCountToday);
|
break;
|
case 2:
|
myRankValue.text = ILCrossServerModel.Instance.HighScoreTotalWeek.ToString();
|
myRankValueEx.SetActiveIL(true);
|
myRankValueEx.text = Language.Get("CrossBattleField48_2", ILCrossServerModel.Instance.HighScoreToday);
|
break;
|
}
|
rankRule.text = Language.Get("CrossBattleField46_" + ILCrossServerModel.Instance.selectRankIndex);
|
|
scroller.Refresh();
|
var items = ILCrossServerModel.Instance.GetRankAwards(ILCrossServerModel.Instance.rankTypes[ILCrossServerModel.Instance.selectRankIndex]);
|
var keys = items.Keys.ToList();
|
for (int i = 0; i < keys.Count; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
scroller.Restart();
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
}
|