在 UI Unity 上显示 TimeSpan 计时器

Display TimeSpan timer on UI Unity

我的 Unity 项目中有运行计时器的代码,计时器使用 DateTime 在多个场景中运行,我试图让时间在编辑器中可见,这样我就可以让倒计时在 UI.

这是倒计时的脚本;

public static class GlobalCountDown
{
    static DateTime TimeStarted;
    static TimeSpan TotalTime;

    public static void StartCountDown(TimeSpan totalTime)
    {
        TimeStarted = DateTime.UtcNow;
        TotalTime = totalTime;
    }

    public static TimeSpan TimeLeft
    {
        get
        {
            var result = TotalTime - (DateTime.UtcNow - TimeStarted);
            if (result.TotalSeconds <= 0)
                return TimeSpan.Zero;           
                 return result;
        }
    }
}

下面是我在每个场景中调用的用于携带计时器的脚本;

GlobalCountDown.StartCountDown (TimeSpan.FromSeconds (8));

该功能正常运行,但我不确定如何使其在 UI 中可见,我尝试使用以下方法,但运气不佳;

string timeLeft = GlobalCountDown.TimeLeft.TotalSeconds().ToString("D2");

如有任何帮助或建议,我们将不胜感激。

使用 UI 文本对象。

[SerializeField] Private Text countdownTimer; // will require UnityEngine.UI at top

每次 change/reduce 计时器值更新 countdownTimertext 属性。

countdownTimer.text = your_time_left_var.ToString();