¿Cómo hacer que el temporizador siga funcionando mientras el bucle espera otro resultado de tiempo?

tengo el siguiente problema en mi código, tengo este bucle ejecutándose en el temporizador (esto es solo una pequeña parte de los bucles que se ejecutan en el temporizador grande),

Dentro de ese gran temporizador (marca cada 1 segundo) tengo un método que necesita esperar 5 segundos y luego continuar con el resto del código de bucle, pero quiero que no se pegue el código y el temporizador continuará ejecutándose cada 1 segundo y no esperar esos 5sec.

lo que hice agregué un nuevo temporizador (timer_deva) que marca cada 5 segundos e hizo todos los controles dentro de él, y luego el temporizador se detiene.

así que mi problema es que necesito esperar 5 segundos para recuperar un valor para completar mi código, pero necesito que mi temporizador principal se siga ejecutando simultáneamente, y cuando obtenga el resultado para el otro momento necesitará completar el código que dejó. detrás.

gracias por adelantado,

else if (mobID.Equals(Convert.ToInt32(txtDeva)))
{
    //START CHECK WITH TIMER
    timer_deva.Start();
    //Methods inside timer_deva update the winnerNation
    //END CHECK TIMER - GET RESULT
    winner(zoneId, winnerNation, humansKills, orcKills);
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta