Выдает ошибку .почему?

void Update()
{
    if(!RewardButton.IsInteractable()) {
        if(isReady()) {
            RewardButton.interactable = true;
            Timer.text = "CLAIM!";
            return;
        }
         ulong diff = ((ulong)DateTime.Now.Ticks - lastOpen);
         ulong m = diff / TimeSpan.TicksPerMillisecond;
         float seconleft = (float)(msToWait - m) / 1000.0f;

         string t = "";

         t += ((int)seconleft / 3600).ToString() + "ч ";
         seconleft -= ((int)seconleft / 3600) * 3600;
         t += ((int)seconleft / 60).ToString("00") + "м ";
         t += ((int)seconleft % 60).ToString("00") + "с ";

         Timer.text = t; // cs:42
    }
}

Ответы (1 шт):

Автор решения: RusArt

Не знаю, в чем ошибка, но ваш код можно написать гораздо короче, избегая любых ошибок с вычислениями

Timer.text = (DateTime.Now - new DateTime(lastOpen)).ToString("hh\\ч\\ mm\\м\\ ss\\с")

Вот документация для изучения

→ Ссылка