Сериализация в меню:
Синтаксис:
Используется csharp
[System.Serializable]
public class SaveSetting{
public bool mission1_open;//Доступ к миссии
public bool mission2_open;//Доступ к миссии
}
public class SaveSetting{
public bool mission1_open;//Доступ к миссии
public bool mission2_open;//Доступ к миссии
}
Сохранение данных:
Синтаксис:
Используется csharp
public void SaveProcess()
{
var xml = new XmlSerializer(typeof(SaveSetting));
var sav = new SaveSetting();
sav.mission2_open = true;
using(var stream = new FileStream("Game_Setting.xml", FileMode.Create, FileAccess.Write))
{
xml.Serialize(stream, sav);
}
}
{
var xml = new XmlSerializer(typeof(SaveSetting));
var sav = new SaveSetting();
sav.mission2_open = true;
using(var stream = new FileStream("Game_Setting.xml", FileMode.Create, FileAccess.Write))
{
xml.Serialize(stream, sav);
}
}
При попытке добавить такой же "public class SaveSetting" на другой сцене в другом скрипте - Unity говорит о том, что имя класса SaveSetting повторяется. (Duplicate 'System.Serializable') Если назвать класс иначе, то при десериалзации он не читается, так как меню ждёт класс SaveSetting. а не как-то другой.
Как правильно вносить изменения в уже существующий класс данных на разных сценах?