using System.Collections.Generic;
|
using UnityEngine;
|
|
public class HeroDebutGiftWin : UIBase
|
{
|
[SerializeField] ButtonEx closeButton;
|
[SerializeField] ImageEx bgImage;
|
[SerializeField] ImageEx heroImage;
|
[SerializeField] ScrollerController scroller;
|
[SerializeField] TextEx timeText;
|
HeroDebutManager manager => HeroDebutManager.Instance;
|
StoreModel storeModel => StoreModel.Instance;
|
protected override void InitComponent()
|
{
|
closeButton.SetListener(CloseWindow);
|
}
|
|
protected override void OnPreOpen()
|
{
|
scroller.OnRefreshCell += OnRefreshCell;
|
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
|
RechargeManager.Instance.rechargeCountEvent += OnRechargeCountEvent;
|
storeModel.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
|
|
int heroID = manager.GetCurrentDisplayCallHeroId();
|
var artConfig = ActHeroAppearArtConfig.Get(heroID);
|
if (artConfig == null) return;
|
|
bgImage.SetSprite(StringUtility.Concat("HeroDebutGiftBG_", heroID.ToString()));
|
heroImage.SetNativeSize();
|
|
heroImage.SetSprite(StringUtility.Concat("HeroDebutGiftHero_", heroID.ToString()));
|
heroImage.SetNativeSize();
|
|
OnSecondEvent();
|
CreateGiftScroller();
|
}
|
|
protected override void OnPreClose()
|
{
|
scroller.OnRefreshCell -= OnRefreshCell;
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
RechargeManager.Instance.rechargeCountEvent -= OnRechargeCountEvent;
|
storeModel.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent;
|
}
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell.GetComponent<HeroDebutGiftCell>();
|
_cell?.Display(cell.index, giftItems);
|
}
|
|
private void OnSecondEvent()
|
{
|
manager.GetActTimeStr(timeText);
|
}
|
|
private void OnRechargeCountEvent(int obj)
|
{
|
RefreshAll();
|
}
|
|
private void RefreshBuyShopLimitEvent()
|
{
|
RefreshAll();
|
}
|
|
List<HeroDebutGiftItem> giftItems;
|
private void CreateGiftScroller()
|
{
|
giftItems = manager.GetGiftItemList(true);
|
scroller.Refresh();
|
if (!giftItems.IsNullOrEmpty())
|
{
|
for (int i = 0; i < giftItems.Count; i++)
|
{
|
scroller.AddCell(ScrollerDataType.Header, i);
|
}
|
}
|
scroller.Restart();
|
}
|
|
void RefreshAll()
|
{
|
scroller.m_Scorller.RefreshActiveCellViews();
|
}
|
}
|