Задержка после паузы

Проблема такая. Есть пауза, которая стопит всю игру через Time.timeScale, ну и анимация воспроизводится. Всё работает нормально. Только игрок после снятия паузы не успевает среагировать и, чаще всего, умирает. В связи с этим стоит вопрос. Как сделать так, чтобы после того, как возобновляешь игру игроку давалось определённое кол-во времени (например пять секунд), которое выводилось(!) на экран. По типу, отжал паузу, на экране обратный отсчёт (5, 4, 3, 2, 1) и возобновилась игра. Долго гуглил, не смог ничего толкового на этот счёт найти. Надеюсь на вашу помощь.


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

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

ну запрограммируй тамйер, например с помощью сопрограм или хз чего, по окончанию таймера должно сгенерироваться событие - делегат , а в этот делегат помести функцию для продолжения игры

delegate void StandartEvent();
StandartEvent dgResume;
GameManager m_gameManager;

void Initialize()
{
    dgResume += m_gameManager.Resume;
}

IEnumerator ResumeTimer()
{
    int time = 5;
    while(time != 0)
    {
        Debug.Log(time);
        time--;
        yield return new WaitForSeconds(1.0f);
    }
    if(dgResume != null) dgResume();
}
→ Ссылка