40 lines
1.2 KiB
C#
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);
|
|
}
|
|
}
|
|
} |