Всем привет! Почему то json не хочет сохранять данные и при завершение игры сбрасывает данные.
скрипт отвечает за выдачу рандомного героя
{
private string jsonData = "Random Text";
private string path;
public int[] Mass = { 30, 25, 15, 10, 5 };
public bool[] Persi;
public bool ItTrue = false;
public int q = 0;
public int i = 0;
public int Rand;
public int Num;
public int total;
public int Money;
public Transform pos ;
public Sprite[] Charectors;
private Save sv = new Save();
void Awake()
{
Money = PlayerPrefs.GetInt("Money_S", 0);
}
void Start()
{
PlayerPrefs.SetInt("NumTrue", i);
PlayerPrefs.SetInt("Money_S", Money);
Money = PlayerPrefs.GetInt("Money_S", 0);
Money += 50;
#if UNITY_ANDROID && !UNITY_EDITOR
path = Path.Combine(Application.persistentDataPath, "Save.json");
#else
path = Path.Combine(Application.dataPath, "Save.json"); // путь файла
#endif
foreach (var item in Mass)
{
total += item;
}
Num = UnityEngine.Random.Range(0, total);
for(; i < Mass.Length; i++)
{
if(Num <= Mass[i])
{
this.GetComponent<SpriteRenderer>().sprite = Charectors[i];
Persi[i] = true;
return;
}
else
{
Num -= Mass[i];
}
}
if (File.Exists(path))//если файл есть
{
sv = JsonUtility.FromJson<Save>(File.ReadAllText(path)); // присваеваем
Debug.Log("присвоили");
}
else
{
}
ItNUM();
}
#if UNITY_ANDROID && !UNITY_EDITOR
private void OnApplicationPause(bool pause){
if(paise) File.WriteAllText(path, JsonUtility.ToJson(sv));
}
#endif
private void OnApplicationQuit()
{
File.WriteAllText(path, JsonUtility.ToJson(sv));
Debug.Log("сохранили");
PlayerPrefs.SetInt("Money_S", Money);
}
void Update()
{
sv.Persi = Persi;
File.WriteAllText(path, JsonUtility.ToJson(sv));
PlayerPrefs.SetInt("NumTrue", i);
}
[Serializable]
public class Save
{
public bool[] Search;
public bool[] Persi;
}
public void ItNUM()
{
if(Num != i)
{
sv.Search[i] = true;
}
}
}
если в коде что то не понятно напишите