Boa Tarde Professor tudo bem, eu tentei completar a respectiva aula "Salvando Valores na Unity" e acabou ocorrendo um erro no qual, mesmo eu usando o PlayerPref o maior valor não é salvo. Poderia me ajudar?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class ControlaInterface : MonoBehaviour
{
private ControlaJogador scriptControlaJogador;
public Slider SliderVidaJogador;
public GameObject PainelDeGameOver;
public Text TextoTempoDeSobrevivencia;
public Text TextoPontuacaoMaxima;
private float tempoPontuacaoSalvo;
// Use this for initialization
void Start()
{
scriptControlaJogador = GameObject.FindWithTag("Jogador")
.GetComponent<ControlaJogador>();
SliderVidaJogador.maxValue = scriptControlaJogador.statusJogador.Vida;
AtualizarSliderVidaJogador();
Time.timeScale = 1;
tempoPontuacaoSalvo = PlayerPrefs.GetFloat("PontuacaoMaxima");
}
public void AtualizarSliderVidaJogador()
{
SliderVidaJogador.value = scriptControlaJogador.statusJogador.Vida;
}
public void GameOver()
{
PainelDeGameOver.SetActive(true);
Time.timeScale = 0;
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 > tempoPontuacaoSalvo)
{
tempoPontuacaoSalvo = Time.timeSinceLevelLoad;
TextoPontuacaoMaxima.text =
string.Format("Seu melhor tempo é {0}min e {1}s", min, seg);
PlayerPrefs.SetFloat("PontuacaoMaxima", tempoPontuacaoSalvo);
}
if (TextoPontuacaoMaxima.text == "")
{
min = (int)tempoPontuacaoSalvo / 60;
seg = (int)tempoPontuacaoSalvo % 60;
TextoPontuacaoMaxima.text =
string.Format("Seu melhor tempo é {0}min e {1}s", min, seg);
}
}
public void Reiniciar()
{
SceneManager.LoadScene("game");
}
}