using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test : MonoBehaviour {
public Save sv;
public void Awake()
{
sv = JsonUtility.FromJson<Save>(PlayerPrefs.GetString("SV"));
Debug.Log(sv.test.Length);
Debug.Log("Begin - " + sv.achieveStatus.Length);
}
public void OnApplicationQuit()
{
Debug.Log(sv.test.Length);
Debug.Log("End - " + sv.achieveStatus.Length);
PlayerPrefs.SetString("SV", JsonUtility.ToJson(sv));
PlayerPrefs.Save();
}
}
[System.Serializable]
public class Save
{
public byte[] test;
public byte[,] achieveStatus;
}
этот код выдает ошибку:
object reference not set to an instance of an object
После этого я инициализировал массивы и получилось так:
public byte[] test = new byte[3];
public byte[,] achieveStatus = new byte[3,3];
При запуске и при выходе код вывел в консоль 3 и 9. Но потом, когда я убрал
new byte[3] и
new byte[3,3]. И запустил в консоль вывелось 3 и object reference not set to an instance of an object и при выходе тоже самое. То есть в player prefs одномерный массив сохранился, а двумерный, получается, что нет. Почему так?