Доброго времени суток!
Нужно сделать обратный таймер в игре по нажатию игрока на кнопку.
Почитал, советуют корутину, попробовал, не получилось...
Есть корутина:
IEnumerator SuperTimer()
{
yield return new WaitForSecondsRealtime(5.0f);
SoundsPlay(clockSound);
timerSuper -= 5;
TextTimerSuper.text = timerSuper.ToString();
}
Кто то советует именно
WaitForSecondsRealtime
Но и
WaitForSeconds
Все ровно не работает!
Старт счетчика происходит по нажатию на кнопку.
public void Sloznost_8()
{
SoundsPlay(levelUpSound);
StartCoroutine(SuperTimer());
}
И корутина стартует, но только один раз!
То есть производится звук "тика" часов и таймер меняется с 60 на 55.
И все... Дальше "тика" и смены числа нет, ошибок в консоли нет, ошибок в редакторе нет.
Вся игра работает дальше, как ей и положено!
Останавливается корутина по нажатию на ДРУГУЮ кнопку.
public void Sloznost_1()
{
StopSuper();
}
Сама функция:
public void StopSuper()
{
StopCoroutine(SuperTimer());
TextTimerSuper.text = "?";
}
Я как то корутины не правильно понял? Да, в Годо таймер как то проще...
Спасибо!