40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
|
|
using CodeJay.Enum;
|
||
|
|
using DG.Tweening;
|
||
|
|
using UnityEngine;
|
||
|
|
|
||
|
|
public class ShakeSelectPopup_AI : PopupBase
|
||
|
|
{
|
||
|
|
[SerializeField] private UnityEngine.UI.Image hourglass;
|
||
|
|
private ECardType[] cardTypes;
|
||
|
|
public void SetData(ECardType[] types, bool fourCard)
|
||
|
|
{
|
||
|
|
this.cardTypes = types;
|
||
|
|
hourglass.rectTransform.DOLocalRotate(Vector3.back * 360, 3, RotateMode.FastBeyond360).SetLoops(-1, LoopType.Restart);
|
||
|
|
StartCoroutine(coroSelectRnd(types, fourCard));
|
||
|
|
GameManager.Sound.PlaySFX(ESFXType.Open_Popup);
|
||
|
|
}
|
||
|
|
|
||
|
|
public override void HidePopup()
|
||
|
|
{
|
||
|
|
base.HidePopup();
|
||
|
|
if (DOTween.IsTweening(hourglass.rectTransform))
|
||
|
|
hourglass.rectTransform.DOKill();
|
||
|
|
}
|
||
|
|
|
||
|
|
private System.Collections.IEnumerator coroSelectRnd(ECardType[] types, bool fourCard)
|
||
|
|
{
|
||
|
|
yield return new WaitForSeconds(2f);
|
||
|
|
bool shake = Random.Range(0, 2) > 0;
|
||
|
|
|
||
|
|
if (shake)
|
||
|
|
{
|
||
|
|
GameManager.UI.HideTopPopup();
|
||
|
|
GameManager.UI.ShowNStackPopup<ShakePopup>(EPopupType.ShakePopup).SetData(types, fourCard);
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
GameManager.UI.HideTopPopup();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|