using UnityEngine;
|
|
public class HeroDebutCheckInWin : UIBase
|
{
|
[SerializeField] ImageEx bgImage;
|
[SerializeField] UIHeroController rolelhShow;
|
[SerializeField] TextEx timeText;
|
[SerializeField] ButtonEx closeButton;
|
[SerializeField] HeroDebutCheckInCell[] cells;
|
HeroDebutManager manager => HeroDebutManager.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()
|
{
|
int heroID = manager.GetCurrentDisplayCallHeroId();
|
var artConfig = ActHeroAppearArtConfig.Get(heroID);
|
if (artConfig == null) return;
|
|
var heroConfig = HeroConfig.Get(heroID);
|
if (heroConfig == null) return;
|
|
int skinID = manager.GetDefaultSkinID(heroID);
|
|
var act = manager.GetOperationHeroAppearInfo();
|
if (act == null) return;
|
|
var config = ActHeroAppearConfig.Get(act.CfgID);
|
if (config == null) 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);
|
}
|
}
|
|
rolelhShow.Create(skinID, 1, motionName: "", isLh: true);
|
OnSecondEvent();
|
}
|
}
|