Scores scene: HighScore display

parent 0220008d
...@@ -23,7 +23,7 @@ namespace Assets.Scripts.API ...@@ -23,7 +23,7 @@ namespace Assets.Scripts.API
GetScores(); GetScores();
} }
public void GetScores () public void GetScores()
{ {
StartCoroutine(GetScoresAsync()); StartCoroutine(GetScoresAsync());
Debug.Log("Done."); Debug.Log("Done.");
......
using UnityEngine; using Assets.Scripts.API;
using System.Collections; using UnityEngine;
using UnityEngine.SceneManagement; using UnityEngine.SceneManagement;
using UnityEngine.UI;
using System;
using System.Collections;
public class HighScores : MonoBehaviour { public class HighScores : MonoBehaviour {
public Text ScoreText;
public Server Server;
public Score[] highscores;
private bool updatedScores = false; //TODO: Not very elegant, can we instead load scores sync in Start?
// Use this for initialization // Use this for initialization
void Start () { void Start () {
ScoreText.text = "";
Server = gameObject.GetComponent(typeof(Server)) as Server;
} }
// Update is called once per frame // Update is called once per frame
void Update () { void Update () {
if (!updatedScores) {
if (Server.Scores.status.Equals("ok")) {
Score[] highScores = Server.Scores.scores;
Array.Sort(highScores, delegate(Score x, Score y) {return y.score.CompareTo(x.score);});
Debug.Log(String.Format("We got {0} scores.", highScores.Length));
if (Server.Scores.scores.Length > 0) {
for (int i = 0; i < highScores.Length; i++) {
Score score = highScores [i];
string name = score.playerName;
if (score.team != null && score.team.Length > 0) {
name += " (" + score.team + ")";
}
ScoreText.text += WWW.UnEscapeURL(name) + ": " + score.score + " points\n";
}
} else {
ScoreText.text = "No high-score yet... Play a game and show you are the best!";
}
updatedScores = true;
}
}
} }
public void OnButtonBackClicked() public void OnButtonBackClicked()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment