public FilePlayerPrefsProvider(string path) { _path = path; if (File.Exists(path)) { byte[] bytes = File.ReadAllBytes(path); _data = PlayerPrefsData.FromBinary(bytes); } else { _data = new PlayerPrefsData(); } }
public static PlayerPrefsData FromBinary(byte[] bytes) { PlayerPrefsData data = new PlayerPrefsData(); using (MemoryStream memoryStream = new MemoryStream(bytes)) { using (BinaryReader binaryReader = new BinaryReader(memoryStream)) { data.StringsMap = ReadMap(binaryReader, br => br.ReadString()); data.IntsMap = ReadMap(binaryReader, br => br.ReadInt32()); data.FloatsMap = ReadMap(binaryReader, br => br.ReadSingle()); } } return(data); }