Beispiel #1
0
    public void AddEntry(ScoreBoardEntryData scoreBoardEntryData)
    {
        ScoreBoardSaveData savedScores = GetSavedScores();
        bool scoreAdded = false;

        for (int i = 0; i < savedScores.highScores.Count; i++)
        {
            if (scoreBoardEntryData.entryScore > savedScores.highScores[i].entryScore)
            {
                savedScores.highScores.Insert(i, scoreBoardEntryData);
                scoreAdded = true;
                break;
            }
        }
        if (!scoreAdded && savedScores.highScores.Count < maxScoreBoardEntries)
        {
            savedScores.highScores.Add(scoreBoardEntryData);
        }

        if (savedScores.highScores.Count > maxScoreBoardEntries)
        {
            savedScores.highScores.RemoveRange(maxScoreBoardEntries, savedScores.highScores.Count - maxScoreBoardEntries);
        }
        UpdateUI(savedScores);
        SaveScores(savedScores);
    }
Beispiel #2
0
 private void SaveScores(ScoreBoardSaveData scoreBoardSaveData)
 {
     using (StreamWriter stream = new StreamWriter(SavePath))
     {
         string json = JsonUtility.ToJson(scoreBoardSaveData, true);
         stream.Write(json);
     }
 }
Beispiel #3
0
    private void Start()
    {
        SavePath        = Path.Combine(Application.persistentDataPath, "HighScores.Json");
        data.entryScore = 0;
        ScoreBoardSaveData savedScores = GetSavedScores();

        if (savedScores == null)
        {
            savedScores = new ScoreBoardSaveData();
        }
        UpdateUI(savedScores);
        SaveScores(savedScores);
    }
Beispiel #4
0
    private void UpdateUI(ScoreBoardSaveData savedScores)
    {
        foreach (Transform child in highScoresHolder)
        {
            Destroy(child.gameObject);
        }

        if (savedScores.highScores.Count == 0)
        {
            Instantiate(scoreBoardEntryObject, highScoresHolder);
        }
        else
        {
            Instantiate(scoreBoardEntryObject, highScoresHolder).GetComponent <SetScore>().SetBoard(savedScores.highScores[0]);
        }
    }