42 lines
1006 B
C#
42 lines
1006 B
C#
using Cysharp.Threading.Tasks;
|
|
using TMPro;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
/// <summary>
|
|
/// 倒计时器
|
|
/// </summary>
|
|
public class CountdownTimer : MonoBehaviour
|
|
{
|
|
public Image countdownImage;
|
|
public TMP_Text countdownText;
|
|
public int countdownTime = 10;
|
|
public int numberFontSize = 100;
|
|
public int suffixFontSize = 30;
|
|
private void OnEnable()
|
|
{
|
|
StartCountdown().Forget();
|
|
}
|
|
|
|
private async UniTaskVoid StartCountdown()
|
|
{
|
|
for (int i = countdownTime; i >= 0; i--)
|
|
{
|
|
countdownText.text = $"<size={numberFontSize}>{i}</size><size={suffixFontSize}>s</size>";
|
|
countdownImage.fillAmount = (float)i / countdownTime;
|
|
|
|
await UniTask.Delay(1000);
|
|
}
|
|
|
|
countdownText.text = $"<size={numberFontSize}>0</size><size={suffixFontSize}>s</size>";
|
|
countdownImage.fillAmount = 0;
|
|
}
|
|
|
|
// #if !UNITY_EDITOR
|
|
//
|
|
// #else
|
|
// Application.Quit();
|
|
// #endif
|
|
}
|