using UnityEngine; using GameCore; using System.Threading.Tasks; using System; using System.Collections.Generic; public class OfferTreasureAscentItemView : MonoBehaviour { [SerializeField] private RewardItemNew reward; [SerializeField] private GameObject goSelected, goDone, fx_selected; [SerializeField] private List fxBlinkList; // [SerializeField] private Button goQuestionMark; public bool IsClaimed => goDone.activeSelf; public void Init(ItemData item, bool isClaimed) { reward.SetData(item); goSelected.SetActive(false); goDone.SetActive(isClaimed); } public void SetClaimed() { // reward.SetReceived(true); goSelected.SetActive(false); goDone.SetActive(true); } public async Task PlaySelectedAsync(float duration) { goSelected.SetActive(false); goDone.SetActive(false); await PlayFxSelectedAsync(); goSelected.SetActive(true); await Task.Delay(System.TimeSpan.FromSeconds(duration)); // SetUnselected(); } // public async void SetSelected(float duration) // { // try // { // await PlaySelectedAsync(duration); // } // catch (System.Exception e) // { // Debug.Log(e); // } // } private void SetUnselected() { goSelected.SetActive(false); goDone.SetActive(false); } public void PlayFxBlink(int idx) { idx = Mathf.Clamp(idx, 0, fxBlinkList.Count - 1); for (int i = 0; i < fxBlinkList.Count; i++) { fxBlinkList[i].SetActive(false); if (i == idx) fxBlinkList[i].SetActive(true); } } // public async Task PlayFxShortAsync() // { // fx_blink_short.SetActive(false); // fx_blink_short.SetActive(true); // await Task.Delay(TimeSpan.FromSeconds(0.05f)); // } // public async void PlayFxShort() // { // await PlayFxShortAsync(); // } // public async Task PlayFxMediumAsync() // { // fx_blink_medium.SetActive(false); // fx_blink_medium.SetActive(true); // await Task.Delay(TimeSpan.FromSeconds(0.1f)); // } // public async void PlayFxMedium() // { // await PlayFxMediumAsync(); // } // public async Task PlayFxLongAsync() // { // fx_blink_long.SetActive(false); // fx_blink_long.SetActive(true); // await Task.Delay(TimeSpan.FromSeconds(0.15f)); // } // public async void PlayFxLong() // { // await PlayFxLongAsync(); // } public async Task PlayFxSelectedAsync() { fx_selected.SetActive(false); fx_selected.SetActive(true); await Task.Delay(TimeSpan.FromSeconds(0.75f)); } public async void PlayFxSelected() { await PlayFxSelectedAsync(); } private void Reset() { reward = transform.Find("reward").GetComponent(); goSelected = transform.Find("bg_select").gameObject; goDone = transform.Find("bg_done").gameObject; // fx_blink_short = transform.Find("fx_ui_offertreasureascent_turns_01").gameObject; // fx_blink_medium = transform.Find("fx_ui_offertreasureascent_turns_02").gameObject; // fx_blink_long = transform.Find("fx_ui_offertreasureascent_turns_03").gameObject; fxBlinkList = new List(); for (int i = 1; i <= 5; i++) fxBlinkList.Add(transform.Find("fx_ui_offertreasureascent_turns_0" + i).gameObject); fx_selected = transform.Find("fx_ui_offertreasureascent_stop_01").gameObject; } }