using asap.core; using cfg; using DG.Tweening; using GameCore; using System; using TMPro; using UniRx; using UnityEngine; using UnityEngine.UI; public class HomeGiftButtonPopupPanel : MonoBehaviour { Image icon_buff; Transform root; //TMP_Text text_info; IDisposable disposable; Item item; private void Awake() { //text_info = transform.Find("root/bg/text_info").GetComponent(); icon_buff = transform.Find("icon_pig/root/icon_buff").GetComponent(); disposable = GContext.OnEvent().Subscribe(GetBuffPosEvent); int activateItemId = GContext.container.Resolve().curActivateItemId; item = GContext.container.Resolve().TbItem.GetOrDefault(activateItemId); if (item != null) { //text_info.text = LocalizationMgr.GetText(item.Name_l10n_key); string icon = item.Icon; if (item.SubType == 21) { BargainPackData barginPackData = GContext.container.Resolve(); if (barginPackData.IsWithinEventTime) { icon = barginPackData.ActiveItemImg; } } else if (item.SubType == 22) { // [REMOVED] PiggyBankPackData deleted } root = transform.Find(icon); if (root != null) { root.gameObject.SetActive(true); icon_buff = root.Find("root/icon_buff").GetComponent(); } //GContext.container.Resolve().SetImageSprite(icon_buff, icon); } } void GetBuffPosEvent(GetGiftBtnPosEvent getBuffPosEvent) { icon_buff.transform.DOMove(getBuffPosEvent.Pos, 0.66f); icon_buff.rectTransform.DOSizeDelta(new Vector2(getBuffPosEvent.width, getBuffPosEvent.width), 0.66f); } private void Start() { Close(); } async void Close() { await Awaiters.Seconds(2.7f); UIManager.Instance.DestroyUI(UITypes.HomeGiftButtonPopupPanel); if (item != null) { if (item.SubType == 21) { await UIManager.Instance.ShowUI(UITypes.GiftBargainPopupPanel); } else if (item.SubType == 22) { await UIManager.Instance.ShowUI(UITypes.GiftPiggyBankPopupPanel); } } } private void OnDisable() { disposable?.Dispose(); disposable = null; } }