C# Unity3D中记分板的排名和位置

C# Unity3D中记分板的排名和位置,c#,unity3d,C#,Unity3d,我是一个新手,我陷入了这个问题。我可以记录球员的数据、分数和名字,但我不能让记分板正常工作。我花了两天的时间想弄明白,现在我问你们 我有前十名的记分牌,但我无法进入排名。分数越高,位置就越高 这是我的代码: int PlayerCount = PlayerSystem.Players.Count; if(PlayerCount == 1) { Score[0].text = PlayerSystem.Players[0].Name + ": " + Player

我是一个新手,我陷入了这个问题。我可以记录球员的数据、分数和名字,但我不能让记分板正常工作。我花了两天的时间想弄明白,现在我问你们

我有前十名的记分牌,但我无法进入排名。分数越高,位置就越高

这是我的代码:

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多行代码,因为它不起作用。但我希望你能明白。如果你读了我的帖子,谢谢你。如果你能帮我做这件事,我真的很感激。谢谢。

首先对球员得分进行排序

using System.Linq;

....

List<Player> Players = PlayerSystem.Players.OrderByDescending(p=>p.Score).ToList();
使用System.Linq;
....
List Players=PlayerSystem.Players.OrderByDescending(p=>p.Score.ToList();
然后将循环中的分数分配给GUI

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

for(int i=0;i首先对球员得分排序

using System.Linq;

....

List<Player> Players = PlayerSystem.Players.OrderByDescending(p=>p.Score).ToList();
使用System.Linq;
....
List Players=PlayerSystem.Players.OrderByDescending(p=>p.Score.ToList();
然后将循环中的分数分配给GUI

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

for(int i=0;iI获取错误:ArgumentNullException:参数不能为null。参数名称:Source我想我应该提供更多详细信息:公共类PlayerSystem:NetworkedMonoBehavior{…公共静态列表Players=PlayerSystem.Players.OrderByDescending(p=>p.Score.ToList();…}公共类UserUI:MonoBehavior{void Update(){int PlayerCount=PlayerSystem.Players.Count;for(int i=0;iPlayerSystem.Players
为空。我得到一个错误:ArgumentNullException:参数不能为空。参数名称:Source我想我应该提供更多详细信息:公共类PlayerSystem:NetworkedMonoBehavior{…公共静态列表Players=PlayerSystem.Players.OrderByDescending(p=>p.Score).ToList();…}公共类UserUI:monobhavior{void Update(){int PlayerCount=PlayerSystem.Players.Count;for(int i=0;iPlayerSystem.Players
为空。