Leaderboard
This commit is contained in:
58
Assets/Game/Scripts/Minigame/Leaderboard.cs
Normal file
58
Assets/Game/Scripts/Minigame/Leaderboard.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Game/Scripts/Minigame/Leaderboard.cs.meta
Normal file
11
Assets/Game/Scripts/Minigame/Leaderboard.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8e79669136fba7a4b946b40cf90800b2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user