65 lines
1.8 KiB
C#
65 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using Newtonsoft.Json;
|
|
using UnityEngine;
|
|
|
|
namespace Code.Example.Race
|
|
{
|
|
public class PlayerPrefsRacePoopshitter
|
|
{
|
|
private List<RaceData> _races = new();
|
|
|
|
public PlayerPrefsRacePoopshitter()
|
|
{
|
|
GetRaces();
|
|
}
|
|
public List<RaceData> GetRaces()
|
|
{
|
|
var path = Path.Combine(Application.persistentDataPath,"raceData.json");
|
|
|
|
using (StreamReader reader = new(path))
|
|
{
|
|
var json = reader.ReadToEnd();
|
|
|
|
_races = JsonConvert.DeserializeObject<List<RaceData>>(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;
|
|
}
|
|
}
|
|
} |