Problema com coleta de diamantes

“Coletar Diamantes”, quando eu pego um diamante , as vezes contabiliza que eu peguei 2 sendo que só peguei um, como resolve isso?

2 curtidas

Isso está acontecendo sempre? Não pode ser que haja dois diamantes no mesmo lugar? Vale a pena dar uma conferida nisso.

De qualquer forma, uma solução para evitar duplicação seria fazer uma pequena alteração no script de ColetarDiamante. Você pode criar uma variável para armazenar o último diamante coletado. Quando o diamante for destruído, a variável será redefinida para null, impedindo que o código entre no if novamente até que a variável esteja vazia.

private GameObject ultimoDiamanteColetado;

private void OnControllerColliderHit(ControllerColliderHit hit)
{
    if(hit.gameObject.tag == "Diamante" && ultimoDiamanteColetado == null)
    {
        ultimoDiamanteColetado = hit.gameObject;
        // Aqui você pode adicionar a lógica de coleta...
    }
}
1 curtida

Deu certo! Obrigado.

2 curtidas