using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Scoreboard : MonoBehaviour { private List entries = new List(); public event Action OnEntryAdded; private class ScoreboardEntriesTable { public ScoreboardEntriesTable(List entries) { this.entries = entries; } public List entries = new List(); } private void Start() { string jsonScoreboardEntries = PlayerPrefs.GetString("ScoreboardEntriesTableT1"); //Binary file ScoreboardEntriesTable entriesTable = JsonUtility.FromJson(jsonScoreboardEntries); if (entriesTable == null) return; if (entriesTable.entries == null) return; for (int i = 0; i < entriesTable.entries.Count; i++) { entries.Add(entriesTable.entries[i]); OnEntryAdded?.Invoke(entriesTable.entries[i]); } } public void AddScoreboardEntry(string entryName, int entryScore) { ScoreboardEntry entry = new ScoreboardEntry(entryName, entryScore); entries.Add(entry); OnEntryAdded?.Invoke(entry); } public void AddScoreboardEntry(ScoreboardEntry entry) { entries.Add(entry); OnEntryAdded?.Invoke(entry); } public void SaveScoreboardEntriesTable() { ScoreboardEntriesTable scoreboardEntriesTable = new ScoreboardEntriesTable(entries); string jsonScoreboardEntries = JsonUtility.ToJson(scoreboardEntriesTable); PlayerPrefs.SetString("ScoreboardEntriesTableT1", jsonScoreboardEntries); PlayerPrefs.Save(); } }