using UnityEngine;
|
|
public class FestivalActivityCheckInWin : UIBase
|
{
|
[SerializeField] ButtonEx closeButton;
|
[SerializeField] TextEx timeText;
|
[SerializeField] FestivalActivityCheckInCell[] cells;
|
FestivalActivityCheckInManager manager => FestivalActivityCheckInManager.Instance;
|
protected override void InitComponent()
|
{
|
closeButton.SetListener(CloseWindow);
|
}
|
protected override void OnPreOpen()
|
{
|
GeneralActInfoManager.Instance.OnUpdateActSignInfosEvent += OnUpdateActSignInfosEvent;
|
TimeMgr.Instance.OnDayEvent += OnDayEvent;
|
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
|
Display();
|
}
|
protected override void OnPreClose()
|
{
|
GeneralActInfoManager.Instance.OnUpdateActSignInfosEvent -= OnUpdateActSignInfosEvent;
|
TimeMgr.Instance.OnDayEvent -= OnDayEvent;
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
}
|
private void OnDayEvent()
|
{
|
Display();
|
}
|
private void OnUpdateActSignInfosEvent(int arg1, int arg2)
|
{
|
Display();
|
}
|
|
private void OnSecondEvent()
|
{
|
manager.GetActTimeStr(timeText);
|
}
|
private void Display()
|
{
|
if (!manager.GetActInfo(out var act, out var config))
|
return;
|
|
int templateID = config.SignTempID;
|
var list = ActSignAwardConfig.GetDayNumSortList(templateID);
|
if (list == null) return;
|
|
for (int i = 0; i < cells.Length; i++)
|
{
|
if (i < list.Count)
|
{
|
cells[i].SetActive(true);
|
cells[i].Display(templateID, list[i]);
|
}
|
else
|
{
|
cells[i].SetActive(false);
|
}
|
}
|
|
OnSecondEvent();
|
}
|
}
|