No Unity, temos algumas coisas especiais para corotinas adicionais ao C # normal.
por exemplo, podemos usar
yield return WaitForSeconds(5.f);
para que uma corotina aguarde 5 segundos antes de continuar.
O que fazer yield return false;
e yield return true;
fazer?
if (0)
ou if (null)
, ao contrário de C e C ++.
yield return 0
funciona; aparentemente por causa da razão MLM explicou
yield
palavra - chave existe desde pelo menos C # 2.0. Tudo o que o Unity faz é chamá-lo de rotina e manipula o iterador gerado e os valores retornados a partir de uma maneira que você pode causar atrasos sem bloqueio na execução do seu código.
WaitForSeconds
não é declarado. Assim que você declarar um método chamado WaitForSeconds
que recebe um argumento de flutuação e retorna o tipo de elemento da enumeração que está implementando, ele será compilado novamente. Portanto, yield
não é especial para a Unidade. De qualquer forma, o WaitForSeconds
método é especial para o Unity, mas, mesmo assim, não estende a linguagem C #, mas é simplesmente um método extra que foi escrito usando o C # padrão.
yield return true
faz algo especial. Masyield return null
simplesmente faz uma pausa para um quadro, então eu suspeito queyield return false
tem exatamente o mesmo efeito (tambémyield return 0
desde 0 false nulo são todos iguais sob o capô)