using UnityEngine;
|
using UnityEngine.UI;
|
|
public class HeroDebutPopWin : UIBase
|
{
|
[SerializeField] ImageEx bgImage;
|
[SerializeField] UIHeroController rolelhShow;
|
[SerializeField] ImageEx qaulityBgImage;
|
[SerializeField] ImageEx qaulityImage;
|
[SerializeField] ButtonEx goButton;
|
[SerializeField] ImageEx titleBgImage;
|
[SerializeField] ImageEx titleImage;
|
[SerializeField] ImageEx infoBgImage;
|
[SerializeField] UIEffectPlayer uiEffectPlayer;
|
[SerializeField] TextEx infoText;
|
[SerializeField] TextEx timeText;
|
[SerializeField] Toggle todayPopToggle;
|
[SerializeField] ButtonEx closeButton;
|
HeroDebutManager manager => HeroDebutManager.Instance;
|
protected override void InitComponent()
|
{
|
closeButton.SetListener(CloseWindow);
|
goButton.SetListener(() =>
|
{
|
UIManager.Instance.CloseWindow<HeroDebutPopWin>();
|
if (!UIManager.Instance.IsOpened<HeroDebutWin>())
|
UIManager.Instance.OpenWindow<HeroDebutWin>();
|
});
|
todayPopToggle.AddListener((bool value) =>
|
{
|
if (value)
|
manager.SavePopTimeData();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
|
Display();
|
}
|
|
protected override void OnPreClose()
|
{
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
}
|
|
private void OnSecondEvent()
|
{
|
manager.GetActTimeStr(timeText, "HeroDebutPop02");
|
}
|
|
private void Display()
|
{
|
uiEffectPlayer.Stop();
|
todayPopToggle.isOn = !manager.IsTodayPop;
|
|
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 skinConfig = HeroSkinConfig.Get(skinID);
|
if (skinConfig == null) return;
|
|
uiEffectPlayer.effectId = artConfig.PopInfoBgUIEffectId;
|
uiEffectPlayer.Play();
|
|
bgImage.SetSprite(artConfig.PopBgImage);
|
bgImage.SetNativeSize();
|
|
qaulityBgImage.SetSprite($"HeroDebutPopQaulityBG{heroConfig.Quality}");
|
qaulityBgImage.SetNativeSize();
|
|
qaulityImage.SetSprite($"HeroDebutPopQaulity{heroConfig.Quality}");
|
qaulityImage.SetNativeSize();
|
|
titleBgImage.SetSprite(artConfig.PopTitleBgImage);
|
titleBgImage.SetNativeSize();
|
|
titleImage.SetSprite(artConfig.PopTitleImage);
|
titleImage.SetNativeSize();
|
|
infoBgImage.SetSprite(artConfig.PopInfoBgImage);
|
infoBgImage.SetNativeSize();
|
|
infoText.text = artConfig.PopInfoText;
|
infoText.color = manager.ParseColor32(artConfig.PopInfoColor);
|
|
rolelhShow.Create(skinID, 1, motionName: "", isLh: true);
|
|
OnSecondEvent();
|
}
|
}
|