using System;
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.Events;

namespace MPStudio
{
    [Serializable]
    public class TimerOverEvent : UnityEvent<string> { }
    
    public class CountdownTimer : MonoBehaviour
    {
        public string timerOverEventArg = "TimerOver";
        
        public Text countdownText;

        public int timeRemaining = 300; // 5分钟 = 300秒

        public TimerOverEvent onTimerOver;
        
        protected virtual void Start()
        {
            StartCoroutine(Countdown());
        }

        protected virtual void TimeOver()
        {
            onTimerOver?.Invoke(this.timerOverEventArg);
        }

        IEnumerator Countdown()
        {
            while (timeRemaining > 0)
            {
                int minutes = timeRemaining / 60;
                int seconds = timeRemaining % 60;

                countdownText.text = string.Format("{0:00}:{1:00}", minutes, seconds);

                yield return new WaitForSeconds(1f);
                timeRemaining--;
            }

            countdownText.text = "00:00";
           // Debug.Log("倒计时结束！");
           this.TimeOver();
            // 倒计时结束后的逻辑
        }
    }
}