Сохранение / загрузка данных в Unity
Я возился с сохранением и загрузкой в Unity, в которой я сохраняю сериализованный класс в файл. У меня есть сериализуемый класс:
[Serializable]
class Save
{
public List<int> ID = new List<int>();
public List<int> Amounts = new List<int>();
}
и сохраните его в файл A-OK. Я могу загрузить его без ошибок, но если я хочу добавить позже:
[Serializable]
class Save
{
public List<int> ID = new List<int>();
public List<int> Amounts = new List<int>();
public int extra = 0;
}
и я запускаю свои сценарии, это дает мне ошибку десериализации, которую я полностью понимаю, поскольку, когда я преобразовываю десериализованный файл в свой новый класс 'Сохраненный', новая переменная, которую я добавил, не существует, и это дает мне ошибку.
Я обнаружил эту ошибку, когда исправлял Актив в магазине, и я знаю, что одним исправлением может быть просто изменить имя файла, чтобы создать новый файл, но я не хочу просто стереть содержимое того, что было сохранено ранее.
Итак, мой вопрос: если бы я хотел добавить больше переменных в мой сериализованный класс, как бы я перехватил и приспособился к старым версиям этого класса, если бы люди обновляли актив?
Спасибо!