public void SaveScore(LocalScoreEntry newScore) { if (loadedScores != null) { int index = loadedScores.FindIndex(0, x => x.playerName == newScore.playerName); if (index == -1) { loadedScores.Add(newScore); } else { loadedScores[index] = newScore; } } else { loadedScores = new List <LocalScoreEntry>(); loadedScores.Add(newScore); } UpdateScores(); string fileText = eventName + "\n"; for (int i = 0; i < loadedScores.Count; i++) { fileText += $"{loadedScores[i].rank}\t{loadedScores[i].playerName}\t{loadedScores[i].score}\t{loadedScores[i].email}\n"; } File.WriteAllText(scoreListPath, fileText); }
private void Update() { //Count up time and display it if (raceActive) { time += Time.deltaTime; uiTimeText.text = $"{time:#0.000}"; } if (Input.GetKeyDown(KeyCode.F5) && SteamManager.Initialized) { steamLeaderboard.DownloadScores(); } if (Input.GetKeyDown(KeyCode.Return) && !SteamManager.Initialized) { eventLeaderboard.ClearEmptyPlayers(); int exitCode = PlayerForm.AddPlayer(eventLeaderboard.scoreListPath); if (exitCode > 0) { eventLeaderboard.LoadScoreList(); LocalScoreEntry newPlayer = eventLeaderboard.InitPlayer(); eventPlayerName = newPlayer.playerName; cachedEmail = newPlayer.email; LoadNewPlayerStats(); } } }
void UpdateScores() { loadedScores.Sort(delegate(LocalScoreEntry x, LocalScoreEntry y) { return(x.score.CompareTo(y.score)); }); for (int i = 0; i < loadedScores.Count; i++) { loadedScores[i] = new LocalScoreEntry(loadedScores[i].playerName, i + 1, loadedScores[i].score, loadedScores[i].email); } }
public LocalScoreEntry InitPlayer() { LocalScoreEntry addedPlayerScore = loadedScores[loadedScores.Count - 1]; loadedScores.RemoveAt(loadedScores.Count - 1); if (loadedScores.Count > 0) { int index = loadedScores.FindIndex(0, x => x.playerName == addedPlayerScore.playerName); if (index == -1) { loadedScores.Add(addedPlayerScore); } else { loadedScores[index] = new LocalScoreEntry(loadedScores[index].playerName, loadedScores[index].rank, loadedScores[index].score, addedPlayerScore.email); string fileText = eventName + "\n"; for (int i = 0; i < loadedScores.Count; i++) { fileText += $"{loadedScores[i].rank}\t{loadedScores[i].playerName}\t{loadedScores[i].score}\t{loadedScores[i].email}\n"; } File.WriteAllText(scoreListPath, fileText); return(loadedScores[index]); } } else { loadedScores.Add(addedPlayerScore); } return(addedPlayerScore); }