ShanxiKnowledgeBase/SXElectricityInformationAcq.../Assets/Scripts/CountdownTimer.cs

49 lines
1.1 KiB
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()
{
int i = countdownTime;
for (; 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 (i <= 0)
{
//倒计时结束退出程序
Application.Quit();
}
}
// #if !UNITY_EDITOR
//
// #else
// Application.Quit();
// #endif
}