2016-09-13 5 views
0

Я новичок, и я застрял в этой проблеме. Я могу статистику игроков, баллы и имена, но я не могу заставить табло работать правильно. Я проработал 2 дня, пытаясь понять это сейчас, я спрашиваю вас, ребята.Оценка и размещение для тотализатора в Unity3D

У меня есть табло 10, но я не могу сделать размещение. Более высокий балл должен иметь более высокий уровень размещения.

Это мой код:

int PlayerCount = PlayerSystem.Players.Count; 

    if(PlayerCount == 1) 
    { 
     Score[0].text = PlayerSystem.Players[0].Name + ": " + PlayerSystem.Players[0].Score.ToString(); 
    } 

    if (PlayerCount == 2) 
    { 
     if(PlayerSystem.Players[0].Score > PlayerSystem.Players[1].Score) 
     { 
      Score[0].text = PlayerSystem.Players[0].Name + ": " + PlayerSystem.Players[0].Score.ToString(); 
      Score[1].text = PlayerSystem.Players[1].Name + ": " + PlayerSystem.Players[1].Score.ToString(); 
     } 

     else if(PlayerSystem.Players[1].Score > PlayerSystem.Players[0].Score) 
     { 
      Score[1].text = PlayerSystem.Players[0].Name + ": " + PlayerSystem.Players[0].Score.ToString(); 
      Score[0].text = PlayerSystem.Players[1].Name + ": " + PlayerSystem.Players[1].Score.ToString(); 
     } 

    } 

Я прокомментировал более 200 строк кода, так как оно не работало. Но я надеюсь, что вы поняли эту идею. Спасибо, если вы прочитали мой пост. Я действительно оцениваю это, если вы поможете мне, как это сделать. Спасибо.

ответ

2

Первый сорт игрока.

using System.Linq; 

.... 

List<Player> Players = PlayerSystem.Players.OrderByDescending(p=>p.Score).ToList(); 

Затем назначьте баллы в цикле для своего графического интерфейса.

for(int i=0; i<10; ++i) 
{ 
    var player = PlayerSystem.Players[i]; 
    Score[i].text = player.Name + ": " + player.Score; 
} 
+0

Я получаю сообщение об ошибке: ArgumentNullException: Аргумент не может быть пустым. Имя параметра: источник –

+0

Я думаю, что я должен дать более подробную информацию: –

+0

общественного класс PlayerSystem: NetworkedMonoBehavior { ... общественности статического списка Игроки = PlayerSystem.Players.OrderByDescending (р => p.Score) .ToList(); ...} –

 Смежные вопросы

  • Нет связанных вопросов^_^