Em cada terceira iteração, C # [duplicado]

Esta pergunta já tem uma resposta aqui:

Como posso obter cada enésimo item de uma Lista <T>? 9 respostas

Eu tenho esse loop que está executando uma tarefa simples para mim toda vez que minha variável é um múltiplo de 3, atualmente eu tenho que criar um loop grande que contém todos os múltiplos de 3 com um OR lógico (3, 6, 9, ... ) Gostaria de saber se existe uma maneira mais eficiente de fazer isso.

Este é o meu trecho de código:

if (waveCounter == 3 || waveCounter == 6 || waveCounter == 9 || waveCounter == 12)
{
    amount = 0.03f;
    dayNight.lightAmout = amount;
    dayNight.light.intensity = Mathf.Lerp(dayNight.light.intensity, dayNight.lightAmout, fadeTime * Time.deltaTime);
}
else
{
   amount = 1f;
   dayNight.lightAmout = amount;
   dayNight.light.intensity = Mathf.Lerp(dayNight.light.intensity, dayNight.lightAmout, fadeTime * Time.deltaTime);
}

Meu objetivo aqui é livrar-me de escrever esses múltiplos de 3 na instrução if e ainda alcançar o mesmo objetivo toda vez que minha variável waveCounter for o próximo múltiplo de 3.

questionAnswers(3)

yourAnswerToTheQuestion