Leaderboard

This commit is contained in:
Sewmina
2022-07-01 01:26:02 +05:30
parent f18f2562eb
commit 437f295dd7
13 changed files with 1208 additions and 677 deletions

View File

@@ -0,0 +1,58 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Leaderboard : MonoBehaviour
{
public Text[] leaderboardItems;
public float updateInterval = 0.5f;
float t;
void Start()
{
RefreshLeaderboard();
}
// Update is called once per frame
void Update()
{
if (t < updateInterval)
{
t += Time.deltaTime;
}
else
{
RefreshLeaderboard();
t = 0;
}
}
public void RefreshLeaderboard()
{
SpaceshipController[] players = FindObjectsOfType<SpaceshipController>();
//Simple bubble sort to sort players by score
SpaceshipController temp;
for (int j = 0; j <= players.Length - 2; j++)
{
for (int i = 0; i <= players.Length - 2; i++)
{
if (players[i].Scores > players[i + 1].Scores)
{
temp = players[i + 1];
players[i + 1] = players[i];
players[i] = temp;
}
}
}
//Populate leaderboard
for(int i =0; i < leaderboardItems.Length; i++){
if(i < players.Length){
SpaceshipController thisPlayer = players[players.Length-i-1];
leaderboardItems[i].gameObject.SetActive(true);
leaderboardItems[i].text = (i+1) + ". " +thisPlayer.pname;
leaderboardItems[i].transform.GetChild(0).GetComponent<Text>().text = thisPlayer.Scores.ToString();
}else{
leaderboardItems[i].gameObject.SetActive(false);
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8e79669136fba7a4b946b40cf90800b2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: