public static void AddHighscoreToList(HighscoreData highscore) { BinaryFormatter formatter = new BinaryFormatter(); FileStream stream; HighscoresList highscoresList; if (File.Exists(Path)) { stream = new FileStream(Path, FileMode.Open); highscoresList = formatter.Deserialize(stream) as HighscoresList; if (highscoresList == null) { Debug.LogError("Highscore System: Couldn't deserialize highscores list from save file."); } stream.Close(); } else { highscoresList = new HighscoresList(); } stream = new FileStream(Path, FileMode.Create); highscoresList.AddHighscore(highscore); formatter.Serialize(stream, highscoresList); stream.Close(); }
private void InitializeHighscoresTable() { noHighscoresTextGameObjects.SetActive(false); foreach (GameObject scoreLine in highscoresTextGameObjects) { scoreLine.SetActive(false); } highscoresList = HighscoreSystem.LoadHighscoresList(); if (highscoresList == null || highscoresList.GetCount() == 0) { noHighscoresTextGameObjects.SetActive(true); return; } int highscoresCount = highscoresList.GetCount() <= highscoresTextGameObjects.Length ? highscoresList.GetCount() : highscoresTextGameObjects.Length; List <HighscoreData> highscores = highscoresList.GetHighscoreDataList(); for (int i = 0; i < highscoresCount; i++) { Text highscoreText = highscoresTextGameObjects[i].GetComponent <Text>(); highscoreText.text = "" + (i + 1).ToString() + ")\t\t\t" + highscores[i].score + "\t\t\t" + highscores[i].date; highscoresTextGameObjects[i].SetActive(true); } }
public static void ResetHighscores() { if (!File.Exists(Path)) { return; } BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(Path, FileMode.Create); HighscoresList highscoresList = new HighscoresList(); formatter.Serialize(stream, highscoresList); stream.Close(); }
public static HighscoresList LoadHighscoresList() { if (!File.Exists(Path)) { return(null); } BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(Path, FileMode.Open); HighscoresList highscoresList = formatter.Deserialize(stream) as HighscoresList; stream.Close(); return(highscoresList); }
// Use this for initialization void Start() { highscoreData = new HighscoresList(); highscoreData.Load(); List <Highscore> topTen; int count; if (onMainMenu) { count = 3; topTen = highscoreData.GetTopThree(); } else { count = 10; topTen = highscoreData.GetTopTen(); } for (int i = 0; i < count; ++i) { if (topTen.Count > i) { scoreList[i].text = topTen[i].Score.ToString(); nameList[i].text = topTen[i].PlayerName; if (!onMainMenu) { timeList[i].text = topTen[i].FormattedTimestamp; levelList[i].text = topTen[i].LevelName; } } else { scoreList[i].text = string.Empty; nameList[i].text = string.Empty; if (!onMainMenu) { timeList[i].text = string.Empty; levelList[i].text = string.Empty; } } } // On main menuthere is no score and stuff, just the list of highscores. if (!onMainMenu) { var gc = GameControl.Instance; var scoreNum = gc.GetScore(); score.text = scoreNum.ToString(); } }
private void PrintHighscores() { HighscoresList hsl = HighscoreSystem.LoadHighscoresList(); if (hsl == null) { print("hsl = null"); return; } List <HighscoreData> highscores = hsl.GetHighscoreDataList(); print("\t --- HIGHSCORES ---"); for (int i = 0; i < highscores.Count; i++) { print("\t" + highscores[i].name + "\t --- \t" + highscores[i].score + "\t --- \t" + highscores[i].date); } print("\t ++++++++++++++++++"); }
public static bool IsNewHighscore(int score) { bool result = false; if (File.Exists(Path)) { BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(Path, FileMode.Open); HighscoresList highscoresList = formatter.Deserialize(stream) as HighscoresList; stream.Close(); result = highscoresList.IsHighscore(new HighscoreData("tempName", score, "tempDate")); } else { result = true; } return(result); }