public void AtualizarDiamantesColetados(int DimasColetados, int TotalDiamantes)
{
dimasColetadosTxt.text = DimasColetados + “/” + TotalDiamantes;
}
2* script acessado
if (hit.gameObject.tag == "Dimas")
{
dimasColetados++;
JogadorUI.AtualizarDiamantesColetados(dimasColetados, 5);
Destroy(hit.gameObject);
}
me tire uma duvida, se eu ja estou acessando a propriedade de txt, via script nao tem necessidade de editada nada no inspector no campo txt do canvas como por exemplo na aula voce digita 0/5
Depende um pouco de como seu projeto está estruturado, mas normalmente você ainda precisa arrastar a referência do componente TMP_Text do seu Canvas para o campo dimasColetadosTxt no seu script, lá no Inspector.
No entanto, o conteúdo do texto (por exemplo, “0/5”) que aparece na caixa de texto do Inspector não é estritamente necessário, porque assim que o jogo rodar, o valor exibido no TextMeshPro será atualizado pelo script. Então, na prática:
Você precisa garantir que o campo dimasColetadosTxt (o TMP_Text) esteja “linkado” (arrastado) para o script no Inspector, para o script saber qual componente de texto deve alterar.
Não é necessário colocar manualmente “0/5” ou qualquer texto inicial no Inspector, desde que você esteja atualizando o valor do text ao iniciar o jogo também (no método Start ou Awake).
eu reparei que ele atualiza quando pega o primeiro dima
ele nao inicializa com UI 0/5 se caso nao escrever no campo de txt no inspector
ambos funcionam