Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Por que não utilizar o FindObjectOfType ao invés do FindGameObjectsWithTag?

Existe algum benefício de usar o GameObject.FindGameObjectsWithTag(this.tag) ao invés de GameObject.FindObjectsOfType ?

1 resposta

Olá, Frederico.

Tudo bem?

A principal diferença entre GameObject.FindObjectOfType<T>() e GameObject.FindGameObjectsWithTag(tag) é que o primeiro retorna o primeiro objeto do tipo especificado que encontra, enquanto o segundo retorna todos os objetos com a tag especificada.

No contexto da aula, a razão para usar FindGameObjectsWithTag(this.tag) em vez de FindObjectOfType<Pontuacao>() é porque queremos encontrar todos os objetos com a tag "Pontuacao" e destruir todos, exceto o atual. Isso garante que sempre haja apenas uma instância de "Pontuacao" em nossa cena.

Se usássemos FindObjectOfType<Pontuacao>(), apenas o primeiro objeto "Pontuacao" encontrado seria retornado, e se houvesse outras instâncias de "Pontuacao", elas não seriam destruídas, o que poderia levar a problemas, já que queremos garantir que só exista uma instância de "Pontuacao".

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.