using System.Collections.Generic;
|
using UnityEngine;
|
|
public class ArenaRecordWin : UIBase
|
{
|
[SerializeField] ArenaChallengeVoucher voucher;
|
[SerializeField] TextEx txtFightPoint;
|
[SerializeField] ScrollerController scrollerController;
|
[SerializeField] Transform transNoRecord;
|
protected override void InitComponent()
|
{
|
base.InitComponent();
|
}
|
|
protected override void OnPreOpen()
|
{
|
base.OnPreOpen();
|
scrollerController.OnRefreshCell += OnRefreshCell;
|
ArenaManager.Instance.OnArenaMatchListEvent += OnArenaMatchListEvent;
|
PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
|
ArenaManager.Instance.OnUpdateGameRecInfo += OnUpdateGameRecInfo;
|
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
|
transNoRecord.SetActive(false);
|
Display();
|
}
|
|
protected override void OnPreClose()
|
{
|
base.OnPreClose();
|
scrollerController.OnRefreshCell -= OnRefreshCell;
|
ArenaManager.Instance.OnArenaMatchListEvent -= OnArenaMatchListEvent;
|
PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
|
ArenaManager.Instance.OnUpdateGameRecInfo -= OnUpdateGameRecInfo;
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
}
|
|
private void OnSecondEvent()
|
{
|
scrollerController.m_Scorller.RefreshActiveCellViews();
|
}
|
|
private void OnUpdateGameRecInfo()
|
{
|
Display();
|
}
|
|
private void PlayerDataRefresh(PlayerDataType type)
|
{
|
if (type != PlayerDataType.ChallengeVoucher)
|
return;
|
Display();
|
}
|
|
private void OnArenaMatchListEvent()
|
{
|
Display();
|
}
|
|
void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetComponent<ArenaRecordCell>();
|
_cell?.Display(cell.index);
|
}
|
|
private void CreateScroller()
|
{
|
scrollerController.Refresh();
|
uint playerID = PlayerDatas.Instance.baseData.PlayerID;
|
ArenaManager.Instance.TryGetSortedArenaGameRecList(playerID, out List<ArenaGameRec> sortedList);
|
if (!sortedList.IsNullOrEmpty())
|
{
|
transNoRecord.SetActive(false);
|
for (int i = 0; i < sortedList.Count; i++)
|
{
|
scrollerController.AddCell(ScrollerDataType.Header, i);
|
}
|
}
|
scrollerController.Restart();
|
}
|
|
void Display()
|
{
|
CreateScroller();
|
voucher.Display();
|
txtFightPoint.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.baseData.FightPower);
|
}
|
}
|