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(); if (!UIManager.Instance.IsOpened()) UIManager.Instance.OpenWindow(); }); 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(StringUtility.Concat("HeroDebutPopBG_", heroID.ToString())); bgImage.SetNativeSize(); qaulityBgImage.SetSprite($"HeroDebutPopQaulityBG{heroConfig.Quality}"); qaulityBgImage.SetNativeSize(); qaulityImage.SetSprite($"HeroDebutPopQaulity{heroConfig.Quality}"); qaulityImage.SetNativeSize(); titleBgImage.SetSprite(StringUtility.Concat("HeroDebutPopTitleBG_", heroID.ToString())); titleBgImage.SetNativeSize(); titleImage.SetSprite(StringUtility.Concat("HeroDebutPopTitle_", heroID.ToString())); titleImage.SetNativeSize(); infoBgImage.SetSprite(StringUtility.Concat("HeroDebutPopInfoBG_", heroID.ToString())); infoBgImage.SetNativeSize(); infoText.text = artConfig.PopInfoText; infoText.color = manager.ParseColor32(artConfig.PopInfoColor); rolelhShow.Create(skinID, 1, motionName: "", isLh: true); OnSecondEvent(); } }