Как заставить таймер продолжать работать, пока цикл ожидает другого результата времени?
=======================================================================================

у меня есть следующая проблема в моем коде, у меня есть этот цикл, работающий на таймере (это лишь малая часть циклов, которые работают на большом таймере),

внутри этого большого таймера (он тикает каждую 1 секунду) у меня есть 1 метод, которому нужно подождать 5 секунд, а затем продолжить с остальным кодом цикла, но я хочу, чтобы он не застрял в коде, и таймер продолжит работать каждую 1сек и не буду ждать тех 5 секунд.

Что я сделал, я добавил новый таймер (timer\_deva), который тикает каждые 5 секунд и выполняет все проверки внутри него, а затем таймер останавливается.

поэтому моя проблема в том, что мне нужно подождать 5 секунд, чтобы получить значение для завершения моего кода, но мне нужно, чтобы мой основной таймер продолжал работать одновременно, и когда он получит свой результат в другое время, ему нужно будет завершить код, который он оставил позади.

заранее спасибо,

**ТЛ; др**

Обычные таймеры не используются в играх. У игр совершенно другой механизм обработки своей логики и прошедшего времени.

**Длинная версия:**

Я знаю, что это не может ответить на ваш вопрос напрямую, но этоS способ много текста, чтобы втиснуть в комментарий. Ваши таймеры звучат очень сложно и иерархично. Из ваших имен переменных я буду предполагать, что вы программируете игру. Игры обычно неработать с таймерами или не так, как вы ожидаете. Это отличное игровое поведение очень поможет вам в вашей проблеме с таймерами и может даже больше помочь вам с вашим дизайном в целом.

Игры обычно имеют что-то`game loop`, Вообще говоря этоs три основные функции, которые вызываются одна за другой в цикле:

Вы получаете пользовательский ввод, вы соответственно меняете игровой мир и рисуете его на экране. Теперь, чем быстрее ваш компьютер, тем быстрее работает этот цикл. Тот'Хорошо для графики (думаю, FPS), но плохо для игры. Представьте себе тетрис, куда каждый кадр перемещают блоки. Теперь я не хотел бы покупать более быстрый компьютер, игра стала бы более сложной.

Таким образом, чтобы поддерживать постоянную скорость игры независимо от мощности компьютера, цикл учитывает прошедшее время:

Теперь представьте время восстановления чего-то в игре. Игрок нажал "а"произошло какое-то крутое действие, и хотя он может нажать «а» опять ничего не произойдет в течение следующих 5 секунд. Но игра по-прежнему работает и делает все остальное, что может случиться в игре. Это не обычный таймер. Это'переменная, давайте назовем это`ActionCooldown`и как только игрок запускает действие,с 5 секунд. Каждый раз, когда мир меняется, времяPassed вычитается из этого числа дос нуля. Игра все время работает и обрабатывает ввод и рендеринг. Но только один раз`ActionCooldown` ударяет ноль, еще одно нажатие "а" снова запустит это действие.