Я искал вокруг, пытаясь найти полуприличный способ сделать это.
По сути, у меня есть объект JSON с именем BeginnerNicknameScores
. Он содержит строковые ключи nickname
и соответствующие значения score
.
Я использую пространство имен SimpleJSON
, поскольку оно использовалось в учебном пособии, но я, конечно, могу изменить пространство имен и настроить свой код в соответствии с
По сути, моя цель здесь - получить все значения score
из объекта JSON, отсортировать их по 5 лучшим показателям и отобразить их в виде текста.
public void DisplayBeginnerHighscores()
{
//declare top 5 interger variables
int one = 0;
int two = 0;
int three = 0;
int four = 0;
int five = 0;
//BeginnerNicknameScores is the JSON Object
//BeginnerNicknameScores.Values is an emerator contraining all the [scores] value
//Thus I use MoveNext() to check all the values, then sort them into top five using the if statements
while (Highscore.BeginnerNicknameScores.Values.MoveNext())
{
if(Highscore.BeginnerNicknameScores.Values.Current > one)
{
one = Highscore.BeginnerNicknameScores.Values.Current;
BegNum1.text = one.ToString();
}
else if(Highscore.BeginnerNicknameScores.Values.Current > two)
{
two = Highscore.BeginnerNicknameScores.Values.Current;
BegNum2.text = two.ToString();
}
else if (Highscore.BeginnerNicknameScores.Values.Current > three)
{
three = Highscore.BeginnerNicknameScores.Values.Current;
BegNum3.text = three.ToString();
}
else if (Highscore.BeginnerNicknameScores.Values.Current > four)
{
four = Highscore.BeginnerNicknameScores.Values.Current;
BegNum4.text = four.ToString();
}
else if (Highscore.BeginnerNicknameScores.Values.Current > five)
{
five = Highscore.BeginnerNicknameScores.Values.Current;
BegNum5.text = five.ToString();
}
}
}
Дело в том, что я, должно быть, делаю что-то не так, потому что всякий раз, когда я загружаю объект, содержащий этот скрипт, и, таким образом, вызываю эту функцию, мой Unity Engine падает.
Если у кого-нибудь есть какие-либо предложения относительно другого пути решения этой проблемы, я определенно буду признателен. Возможно, стоит отметить, что если одна из оценок разделена на пятерку лучших, мне также нужно будет отобразить ассоциированные псевдонимы каждой оценки в моем меню рекордов.