Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não aperece o save quando aplico o PlayerPrefs

Quando eu aplico o PlayerPrefs.SetFloat o texto com o maior tempo de jogo não aparece no game over, o campo fica em branco.

public class ControlaInterface : MonoBehaviour
{
    private ControlaJogador scriptControlaJogador;
    public Slider sliderVidaJogador;
    public GameObject PainelDeGameOver;
    public Text TextoTempoDeSObrevivencia;
    public Text TextoPontuacaoMaximo;
    private float tempoPontuacaoSalva;

    // Start is called before the first frame update
    void Start()
    {
        scriptControlaJogador = GameObject.FindWithTag(Tags.Jogador)
                                .GetComponent<ControlaJogador>();
        sliderVidaJogador.maxValue = scriptControlaJogador.statusJogador.Vida;
        atualizarSlideDano();

        Time.timeScale = 1;

        tempoPontuacaoSalva = PlayerPrefs.GetFloat("PontuacaoMaxima");

    }
    public void atualizarSlideDano()
    {
        sliderVidaJogador.value = scriptControlaJogador.statusJogador.Vida;
    }
    public void GamerOver()
    {
        Time.timeScale = 0;
        PainelDeGameOver.SetActive(true);

        int minutos = (int)(Time.timeSinceLevelLoad / 60);
        int segundos = (int)(Time.timeSinceLevelLoad % 60);

        TextoTempoDeSObrevivencia.text =
          "Você sobreviveu por " + minutos + " min e " + segundos + "s";

        AjustarPontuacaoMaxima(minutos, segundos);
    }
    void AjustarPontuacaoMaxima(int min, int seg)
    {
        if(Time.timeSinceLevelLoad > tempoPontuacaoSalva)
        {
            tempoPontuacaoSalva = Time.timeSinceLevelLoad;
            TextoPontuacaoMaximo.text = string.Format("Seu melhor tempo é {0}min e {1}seg", min, seg);
            PlayerPrefs.SetFloat("PontuacaoMaxima", tempoPontuacaoSalva);
        }
        if(TextoPontuacaoMaximo.text == "")
        {
            min = (int)tempoPontuacaoSalva / 60;
            seg = (int)tempoPontuacaoSalva % 60;
            TextoPontuacaoMaximo.text = string.Format("Seu melhor tempo é {0}min e {1}seg", min, seg);
        }
    }

    public void Reiniciar()
    {
        SceneManager.LoadScene("game");
    }
}
1 resposta
solução!

Consegui resolver, antes o campo TempoSobrevivenvenciaMaximo estava depois do campo Button na Unity, dai inverte a ordem, passando o campo do texto antes do campo do Button e deu certo.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade