Olá Ricardo,
Estou com problema quando clico na tela para reiniciar o jogo, o jogo reinicia, porem os obstáculos continuam vindo na velocidade/frequência em que estavam antes de perder.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá Ricardo,
Estou com problema quando clico na tela para reiniciar o jogo, o jogo reinicia, porem os obstáculos continuam vindo na velocidade/frequência em que estavam antes de perder.
Oi Guilherme, Vc pode mandar o código da classe dificuldade e o código do Diretor onde reiniciamos o jogo?
Posso sim,
Segue código abaixo.
public class ControleDeDificuldade : MonoBehaviour
{
[SerializeField]
private float tempoParaDificuldadeMaxima;
private float tempoDecorrido;
public float Dificuldade { get; private set; }
private void Update()
{
this.tempoDecorrido += Time.deltaTime;
this.Dificuldade = this.tempoDecorrido / this.tempoParaDificuldadeMaxima;
this.Dificuldade = Mathf.Min(1, this.Dificuldade);
}
}
public class DiretorDeCena : MonoBehaviour
{
private ControlaAviao aviao;
private ControlaPontuacao pontuacao;
private InterfaceGameOver interfaceGameOver;
private void Start()
{
this.aviao = GameObject.FindObjectOfType<ControlaAviao>();
this.pontuacao = GameObject.FindObjectOfType<ControlaPontuacao>();
this.interfaceGameOver = GameObject.FindObjectOfType<InterfaceGameOver>();
}
public void FinalizarJogo()
{
Time.timeScale = 0;
this.pontuacao.SalvarRecorde();
this.interfaceGameOver.MostrarInterface();
}
public void ReiniciarJogo()
{
this.interfaceGameOver.OcultarInterface();
Time.timeScale = 1;
this.aviao.Reiniciar();
this.DestruirObstaculos();
this.pontuacao.Reiniciar();
}
private void DestruirObstaculos()
{
ControlaObstaculos[] obstaculos = GameObject.FindObjectsOfType<ControlaObstaculos>();
foreach(ControlaObstaculos obstaculo in obstaculos)
{
obstaculo.Destruir();
}
}
}