132 lines
3.6 KiB
C#
132 lines
3.6 KiB
C#
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<GameObject> 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<RewardItemNew>();
|
|
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<GameObject>();
|
|
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;
|
|
}
|
|
}
|