Files
back_cantanBuilding/Assets/Scripts/EventBreak/EventBreakTaskRewardPopupPanel.cs
2026-05-26 16:15:54 +08:00

40 lines
1.2 KiB
C#

using System;
using GameCore;
using UnityEngine;
using UnityEngine.UI;
public class EventBreakTaskRewardPopupPanel : MonoBehaviour
{
[SerializeField] private RewardItemNew reward;
[SerializeField] private GameObject[] gemBanners;
[SerializeField] private Button btnClaim;
private Action _action;
public void Init(ItemData rewardItem, int tunnelIdx, Action claimMark = null)
{
// Debug.Log($"[EventBreak] Init!!!!!!!!!!", this);
reward.SetData(rewardItem, abbr: true);
for (int i = 0; i < gemBanners.Length; i++)
gemBanners[i].SetActive(i == tunnelIdx);
btnClaim.onClick.AddListener(OnClaim);
_action = claimMark;
}
private async void OnClaim()
{
try
{
// Debug.Log($"[EventBreak] Claim!!!!!!!!!!", this);
btnClaim.onClick.RemoveAllListeners();
_ = reward.ParticleAttractor();
await System.Threading.Tasks.Task.Delay(TimeSpan.FromSeconds(1.2f));
UIManager.Instance.DestroyUI(UITypes.EventBreakRewardPopupPanel);
_action?.Invoke();
}
catch (Exception e)
{
Debug.LogError(e);
btnClaim.onClick.AddListener(OnClaim);
}
}
}