using System; using System.Collections.Generic; using System.IO; using Newtonsoft.Json; using UnityEngine; namespace Code.Example.Race { public class PlayerPrefsRacePoopshitter { private List _races = new(); public PlayerPrefsRacePoopshitter() { GetRaces(); } public List GetRaces() { var path = Path.Combine(Application.persistentDataPath,"raceData.json"); using (StreamReader reader = new(path)) { var json = reader.ReadToEnd(); _races = JsonConvert.DeserializeObject>(json); } // for (int i = 0; i < _raceCount; i++) // races.Add(new( // PlayerPrefs.GetFloat($"Race{i}"), // PlayerPrefs.GetInt($"Place{i}"))); return _races; } public void AddRace(RaceData race) { // PlayerPrefs.SetFloat($"Race{_raceCount}", race.raceTimeSeconds); // PlayerPrefs.SetInt($"Place{_raceCount}", race.place); // PlayerPrefs.SetInt("RaceCount", ++_raceCount); _races.Add(race); var json = JsonConvert.SerializeObject(_races, Formatting.Indented); var path = Path.Combine(Application.persistentDataPath,"raceData.json"); using (StreamWriter writer = new(path)) { writer.Write(json); } } } [Serializable] public struct RaceData { public float raceTimeSeconds; public int place; public RaceData(float raceTimeSeconds, int place) { this.raceTimeSeconds = raceTimeSeconds; this.place = place; } } }