coloquei a função atualizar slide vida no void start() do script de interface
void Start()
{
scriptControlaJogador = GameObject.FindWithTag("Player").GetComponent<controlaJogador>();
sliderVidaJogador.maxValue = scriptControlaJogador.Vida;
AtualizarSliderVida();
}
até ai ok , quando o jogo inicia a barra ja começa com 100 de vida ao em vez de 1 de vida . Quando eu perco e a fase reinicia , a barra tambem ja inicia com 100 de vida , PERFEITO mas
tentei jogar o comando AtualizarSliderVida() na void start(0 do script de controla jogador
void Start()
{
Time.timeScale = 1;
rbJogador = GetComponent<Rigidbody>();
anJogador = GetComponent<Animator>();
scriptControlaCanvas.AtualizarSliderVida();
}
quando eu starto a fase , o jogador começa com 100 de vida , PERFEITO !!, mas quando eu morro e reinicio , o slider começa com 1 de vida e o console do unity acusa o seguinte erro:
NullReferenceException: Object reference not set to an instance of an object ControlaCanvas.AtualizarSliderVida () (at Assets/Scripts/ControlaCanvas.cs:28) controlaJogador.Start () (at Assets/Scripts/controlaJogador.cs:25)
pelo o que entendi , depois que morro e reinicio a fase , o void start do script de interface é inicializado antes do de controla jogador , por isso quando a função esta nesse script de interface o jogo roda perfeito , mas quando esta no script de jogador , a barra de vida buga depois da primeira morte
Qual a ordem de prioridade de void start do unity ?