SerializeField
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 8 de 67.
Um campo public faz duas coisas ao mesmo tempo: aparece no Inspector, e qualquer outro script pode lê-lo e alterá-lo. Muitas vezes, você quer apenas a primeira. Um campo private (o padrão em C#) só pode ser alterado pela própria classe, então nenhum outro script pode modificá-lo, mas o Unity não o mostra no Inspector.
[SerializeField] pede ao Unity que salve e mostre um campo privado mesmo assim. O alcance desta torre é definido para cada torre no Inspector, e nenhum outro script pode acessá-lo:
[SerializeField] private float range = 5f;
void Start()
{
Debug.Log("Range: " + range);
}É assim que a maioria dos códigos do Unity mantém suas configurações: privadas, com [SerializeField]. Cuidado com o contrário: torne um campo privado e esqueça o atributo, e o Unity descartará silenciosamente o valor salvo na cena. O campo voltará ao número definido no código, sem nenhum erro para avisar você.
Desafio
FácilA height da lâmpada é pública, então qualquer script poderia movê-la. Torne height privada, mantendo-a no Inspector, que a define como 4. A lâmpada ainda deve ficar na altura definida pelo Inspector.
Pressione Play e observe a altura da lâmpada; depois, Check.
Experimente você mesmo
using UnityEngine;
public class LampHeight : MonoBehaviour
{
public float height = 1f;
void Start()
{
transform.position = new Vector3(0, height, 0);
}
}
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
1Seu primeiro script
Olá, UnityPosicione o cuboMova a cada quadroGire a cada segundoConduza com as teclasRecapitulando: dirija o cubo4Vetores
Adicionando vetoresDireçõesEspaço local e espaço do mundoVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone7Projeto: Pegue a Estrela
O ApanhadorUma Estrela Cadente10O ciclo de vida dos scripts
Awake e StartUpdate e LateUpdateOnEnable e OnDisableA ordem do ciclo de vidaRevisão: registrador do ciclo de vida5Transformações e Hierarquia
Pais e FilhosEscalaObserve as CoisasMova-se em Direção a um PontoRevisão: Lua em Órbita6GameObjects e Componentes
Referências no InspectorObter um ComponenteComponentes AusentesAdicionar um ComponenteRequireComponentMostrar e OcultarRevisão: Interruptor de Luz