@Netrox56

Обновление лучшего счёта(highscore) происходит через раз Unity, Как можно решить?

Ребят, у меня highscore работает отлично , только вот обновляется он через раз. Например: highscore равен 5 и в игре я набираю 10 очков и проигрываю затем на надписи highscore по прежнему пишет 5 , но после того как я нажал новую игру(рестарт) и проиграл не побив рекорд(highscore) то уже на этот раз обновляется highscore и пишет 10. Как можно это решить?

public Text highScoreText;
public Text scoreText;
public Text finalScoreText;

private int scoreNum;
private int easyHighScoreNum;
private int mediumHighScoreNum;
private int hardHighScoreNum;

private void Start()
{
scoreNum = 0;
scoreText.text = scoreNum.ToString();
finalScoreText.text = scoreNum.ToString();

if (PlayerPrefs.HasKey("easy"))
{
easyHighScoreNum = PlayerPrefs.GetInt("easyHighScore", 0);
}
else if (PlayerPrefs.HasKey("medium"))
{
mediumHighScoreNum = PlayerPrefs.GetInt("mediumHighScore", 0);
}
else if (PlayerPrefs.HasKey("hard"))
{
hardHighScoreNum = PlayerPrefs.GetInt("hardHighScore", 0);
}
}

private void Update()
{
if (PlayerPrefs.HasKey("easy"))
{
highScoreText.text = easyHighScoreNum.ToString();
}
else if (PlayerPrefs.HasKey("medium"))
{
highScoreText.text = mediumHighScoreNum.ToString();
}
else if (PlayerPrefs.HasKey("hard"))
{
highScoreText.text = hardHighScoreNum.ToString();
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("PresentObj"))
{
scoreNum++;
scoreText.text = scoreNum.ToString();
finalScoreText.text = scoreNum.ToString();

if (PlayerPrefs.HasKey("easy"))
{
if (easyHighScoreNum < scoreNum)
{
PlayerPrefs.SetInt("easyHighScore", scoreNum);
}
}
else if (PlayerPrefs.HasKey("medium"))
{
if (mediumHighScoreNum < scoreNum)
{
PlayerPrefs.SetInt("mediumHighScore", scoreNum);
}
}
else if (PlayerPrefs.HasKey("hard"))
{
if (hardHighScoreNum < scoreNum)
{
PlayerPrefs.SetInt("hardHighScore", scoreNum);
}
}

}
}
}
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
В твоей простыне текста, не кода, обновления рекорда и нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы