@jklasdfasdfasdf

Как сохранить и загрузить массив объектов?

Выходит ошибка и unity вылетает
Пробовал дебаг лог писать длину массива, выдавало гигантское отрицательное число с ошибкой индекс вышел за пределы массива. Типа такое -10373829292928829
private GameObject[] GameObjects;

public void Save()
{
    PlayerPrefs.SetString("SecretKey007" ,JsonUtility.ToJson(GameObjects));
}

public void Load()
{
    GameObjects = JsonUtility.FromJson<GameObject[]>(PlayerPrefs.GetString("SecretKey007"));
}
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Ezekiel4
Охотник на пиратов и сборщик монолитов
Ошибка возникает потому, что код не понимает, по шаблону какого класса ему десериализовать строку
JsonUtility.FromJson(PlayePrefs.GetString("SecretKey007"));

Здесь после FromJson должен стоять генерик с указанным типом. Например:
JsonUtility.FromJson<GameObject>(jsonString);
Правда это всё равно не будет работать, но это ответ на вопрос.

UPD. Чтобы работало, подумайте не о сохранении самих объектов, а некоторых их, нужных вам свойств. Например, данных о местоположении, повороте, здоровье и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы