Таблица сортировки лидеров Unity - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь отсортировать свои результаты в базе данных Firebase, чтобы они могли отображаться на табло в единстве, я близок, но знаю, что упускаю что-то довольно простое. Мой код ниже!

Я хочу, чтобы он был отсортирован, чтобы первым был лучший бомбардир и так далее.

using System;
using System.Collections;
using System.Collections.Generic;
using Firebase;
using Firebase.Auth;
using Firebase.Database;
using Firebase.Unity.Editor;
using UnityEngine;
using UnityEngine.UI;
using Random = UnityEngine.Random;


public class LeaderBoard : MonoBehaviour {
    public Text LeaderBoardText;

    private List<Player> players = new List<Player>(); //making a list to store all players
    private static string DATABASE_URL = "https://fir-game-c590f.firebaseio.com/";
    private DatabaseReference database;


    void Start() {
        FirebaseApp.DefaultInstance.SetEditorDatabaseUrl(DATABASE_URL);
        database = FirebaseDatabase.DefaultInstance.RootReference;


        FirebaseDatabase.DefaultInstance.GetReferenceFromUrl(DATABASE_URL).GetValueAsync().ContinueWith((task => {
            if (task.IsCompleted) {
                DataSnapshot snapshot = task.Result;

                //string playerData = snapshot.GetRawJsonValue();
                foreach (var child in snapshot.Children) {
                    string ps = child.GetRawJsonValue();
                    Player p = JsonUtility.FromJson<Player>(ps);

                    players.Add(p); 
                }

                foreach(var pl in players) 
                { 
                    LeaderBoardText.text += pl.email + ": " + pl.score + "\n";           
                }

                //sorting
                if (players.count > 0)
                {
                    players.Sort(delegate(Player a, Player b)
                    {
                        return (a.GetComponent<CharacterStats>().initiative).CompareTo(b.GetComponent<CharacterStats>().initiative);
                    });
                }
            }
        }));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...