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);
        }