RequireComponent
Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 47 de 85.
[RequireComponent(typeof(Rigidbody))], escrito encima de la clase de un script, le indica a Unity que el script no puede funcionar sin un Rigidbody en el mismo objeto:
[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
}Unity actúa cuando se añade el script a un objeto, desde el Inspector o con AddComponent: si el objeto no tiene un Rigidbody, Unity añade uno. Mientras Jumper esté en el objeto, el Inspector no permite eliminar ese Rigidbody. Así que GetComponent siempre encuentra uno, y Jumper no necesita ninguna comprobación.
El atributo no tiene efecto retroactivo: los objetos que ya tenían Jumper antes de que se escribiera la línea no reciben un Rigidbody hasta que se elimina y se vuelve a añadir el script. Un atributo puede indicar hasta tres tipos, como en [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))], y una clase puede tener varios de ellos.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Todas las lecciones de Fundamentos de scripting en Unity
1Conceptos básicos de C# en Unity
Hola, UnityVariablesLos decimales necesitan una fTexto en la consolaVariables que recuerdanIf y ElseComparar númerosRepaso: Recolector de monedas7Bucles y métodos
Repetir con forBucles dentro de buclesEscribir un métodoMétodos que respondenArraysRepaso: escalera10Encontrar cosas
Buscar por nombreEtiquetasBuscar por tipoLas referencias vencen a FindEl null de UnityRepaso: moneda más cercana13Proyecto: Esquiva los bloques
El corredorBloques desde el cielo2Haz que se mueva
Coloca el cuboMuévelo en cada fotogramaGira cada segundoDirige con las teclasRepaso: conduce el cubo5Vectores
Sumar vectoresDireccionesEspacio local y mundialVelocidad diagonalDistancia entre objetosVector3 es una estructuraRepaso: piloto de dron8GameObjects y componentes
Referencias en el InspectorObtener un componenteComponentes faltantesAñadir un componenteRequireComponentMostrar y ocultarRepaso: interruptor de luz3El Inspector
Campos del InspectorSerializeFieldFloats y MathfAtributos del InspectorRepaso: Ascensor6Transformaciones y jerarquía
Padres e hijosIza la banderaEscalaMira las cosasMuévete hacia un puntoRepaso: Luna en órbita9Proyecto: Atrapa la estrella
El cazadorUna estrella fugaz12El ciclo de vida de un script
Awake y StartUpdate y LateUpdateOnEnable y OnDisableEl orden del ciclo de vidaRepaso: registrador del ciclo de vidaPractica por tu cuenta: Playground de Unity