Menu
CoddyTech

RequireComponent

Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 33 de 67.

[RequireComponent(typeof(Rigidbody))], escrito acima da classe de um script, informa ao Unity que o script não pode funcionar sem um Rigidbody no mesmo objeto:

[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
    Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }
}

O Unity age quando o script é adicionado a um objeto, pelo Inspector ou com AddComponent: se o objeto não tiver um Rigidbody, o Unity adicionará um. Enquanto Jumper estiver no objeto, o Inspector não permitirá remover esse Rigidbody. Portanto, GetComponent sempre encontra um aqui, e Jumper não precisa de nenhuma verificação.

O atributo não retroage: objetos que já tinham Jumper antes de a linha ser escrita não recebem um Rigidbody até que o script seja removido e adicionado novamente. Um atributo pode especificar até três tipos, como em [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))], e uma classe pode ter vários deles.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Noções básicas de scripting no Unity