using System.Linq;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
public class QYRankAwardWin : UIBase
|
{
|
[SerializeField] Text titleText;
|
[SerializeField] ScrollerController scroller;
|
[SerializeField] Text myRankText;
|
[SerializeField] ItemCell[] itemCells;
|
[SerializeField] Transform unRankText;
|
[SerializeField] Text noAwardText;
|
[SerializeField] Text timeText;
|
[SerializeField] GroupButtonEx weekBtn;
|
[SerializeField] GroupButtonEx dayBtn;
|
|
protected override void InitComponent()
|
{
|
weekBtn.AddListener(()=>
|
{
|
functionOrder = 0;
|
Display();
|
});
|
dayBtn.AddListener(()=>
|
{
|
functionOrder = 1;
|
Display();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
if (functionOrder == 0)
|
{
|
weekBtn.SelectBtn();
|
}
|
else
|
{
|
dayBtn.SelectBtn();
|
}
|
|
scroller.OnRefreshCell += OnRefreshCell;
|
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
|
Display();
|
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= OnRefreshCell;
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
}
|
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cellView)
|
{
|
var cell = cellView as QYRankAwardCell;
|
cell.Display(cell.index, functionOrder);
|
}
|
private void OnSecondEvent()
|
{
|
if (functionOrder == 0)
|
{
|
timeText.text = Language.Get("Arena14", QunyingManager.Instance.GetEndSecondStr());
|
|
}
|
else
|
{
|
timeText.text = Language.Get("Arena14", TimeUtility.SecondsToDHMS((int)(TimeUtility.GetCommTodayEndTime(0) -
|
TimeUtility.GetCommServerNow()).TotalSeconds));
|
}
|
|
}
|
|
void Display()
|
{
|
scroller.Refresh();
|
if (functionOrder == 1)
|
{
|
titleText.text = Language.Get("Qunying18");
|
}
|
else
|
{
|
titleText.text = Language.Get("Qunying19");
|
}
|
var keys = QunyingManager.Instance.GetRankAwardDict(functionOrder).Keys.ToList();
|
keys.Sort();
|
for (int i = 0; i < keys.Count; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
scroller.Restart();
|
|
OnSecondEvent();
|
|
var myMatch = QunyingManager.Instance.GetMyMatchInfo(out var index);
|
if (myMatch != null)
|
{
|
myRankText.SetActive(true);
|
unRankText.SetActive(false);
|
myRankText.text = myMatch.Rank.ToString();
|
var awards = QunyingManager.Instance.GetMyRankAwards(functionOrder, myMatch.Rank);
|
if (awards.IsNullOrEmpty())
|
{
|
noAwardText.SetActive(true);
|
for (int i = 0; i < itemCells.Length; i++)
|
{
|
itemCells[i].SetActive(false);
|
}
|
}
|
else
|
{
|
noAwardText.SetActive(false);
|
for (int i = 0; i < itemCells.Length; i++)
|
{
|
if (i < awards.Length)
|
{
|
itemCells[i].SetActive(true);
|
int itemID = awards[i][0];
|
itemCells[i].Init(new ItemCellModel(itemID, false, awards[i][1]));
|
itemCells[i].button.SetListener(() => ItemTipUtility.Show(itemID));
|
}
|
else
|
{
|
itemCells[i].SetActive(false);
|
}
|
}
|
}
|
|
}
|
else
|
{
|
myRankText.SetActive(false);
|
unRankText.SetActive(true);
|
noAwardText.SetActive(true);
|
}
|
|
|
}
|
}
|