Как сделать механику наград в Unity
Стал пробовать изучать юнити , сделал по гайду скрипт .С методом , который при подсчете очков , должен через for определять давать медальку определенную или нет .
Проблема в том , что медаль либо не присваивается , либо все время присваивается одна и таже.Подозреваю ,что делаю что то не так в цикле ,но не могу понять что именно не так . При таком вариате i всегда равна 0.
{
int score = ScoreManager.Instance.score;
scoreText.text = score.ToString();
int bestScore = PlayerPrefs.GetInt("bestScore");
if (bestScore < score)
{
bestScore = score;
}
bestScoreText.text = bestScore.ToString();
PlayerPrefs.SetInt("bestScore", bestScore);
Debug.Log(scoreText.text);
for (int i = 0; i < medals.Length; i++)
{
if (medals[i].ScoreNeed <= score)
{
if (i > 0)
{
medalsDysplay.gameObject.SetActive(true);
medalsDysplay.sprite = medals[i].MedalSprite;
}
else
{
break;
}
}
}
Ответы (1 шт):
Автор решения: Mousa
→ Ссылка
Были строку if (i > 0) , удалил его , оставив просто if (medals[i].ScoreNeed <= score) и все получилось