Olá, Julio! Espero que você esteja bem também!
Entendo sua dúvida sobre como o programa reconhece o tipo da variável como ControlaJogador
, mesmo sendo um script que você criou. Vamos esclarecer isso!
Quando você cria um script na Unity, como ControlaJogador
, você está criando uma nova classe. Em C#, uma classe é um tipo definido pelo usuário. Então, quando você declara uma variável do tipo ControlaJogador
, você está dizendo ao compilador que essa variável pode armazenar uma instância da classe ControlaJogador
.
Por exemplo, considere o seguinte código:
public class ControlaJogador : MonoBehaviour
{
public int vida;
// Outros métodos e propriedades
}
Aqui, ControlaJogador
é uma nova classe que você criou. Agora, quando você declara uma variável desse tipo, como:
private ControlaJogador scriptControlaJogador;
Você está dizendo que scriptControlaJogador
é uma variável que pode armazenar uma instância da classe ControlaJogador
.
O compilador entende isso porque, quando você cria a classe ControlaJogador
, ela é registrada como um tipo válido no seu projeto. Assim, você pode usar ControlaJogador
como tipo de variável, da mesma forma que usaria tipos predefinidos como int
, float
, ou até mesmo tipos específicos da Unity como GameObject
ou Slider
.
Para ilustrar, vamos ver um exemplo prático:
Criação da Classe:
public class ControlaJogador : MonoBehaviour
{
public int vida = 100;
}
Uso da Classe como Tipo:
public class ControlaInterface : MonoBehaviour
{
private ControlaJogador scriptControlaJogador;
void Start()
{
scriptControlaJogador = GameObject.FindWithTag("Jogador").GetComponent<ControlaJogador>();
}
void Update()
{
Debug.Log(scriptControlaJogador.vida);
}
}
No exemplo acima, ControlaJogador
é uma classe que você criou. No script ControlaInterface
, você declara uma variável scriptControlaJogador
do tipo ControlaJogador
. No método Start
, você encontra o GameObject com a tag "Jogador" e obtém o componente ControlaJogador
desse GameObject, armazenando-o na variável scriptControlaJogador
.
Espero ter ajudado e bons estudos!