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.
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();
}
}
}