Unidade - retorno de rendimento do IEnumerator null
Atualmente, estou tentando entender o IEnumerator & Coroutine no contexto do Unity e não estou muito confiante no que o "retorno de retorno nulo" executa. No momento, acredito que basicamente faz uma pausa e aguarda o próximo quadro e no próximo quadro ele voltará a executar a instrução while novamente.
Se eu deixar de fora o "retorno de retorno nulo", parece que o objeto se moverá instantaneamente para o seu destino ou talvez "pule muitos quadros". Então, eu acho que a minha pergunta é como essa função "yield return null" dentro desse loop while e por que é necessário tê-lo.
void Start () {
StartCoroutine(Move());
}
IEnumerator Move(){
while (a > 0.5f){
... (moves object up/down)
yield return null; // <---------
}
yield return new WaitForSeconds(0.5f);
.... (moves object up/down)
StartCoroutine(Move());
}