Как обратится к данным сериализации на разных сценах?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как обратится к данным сериализации на разных сценах?

Сообщение ▭▭▭ 16 фев 2024, 14:44

В игровом меню расположен скрипт XML сериализации,, где хранятся переменные, которые определяют можно ли запустить некий игровой уровень. Изначально доступен один - по задумке когда проходишь его должен открыться следующий.
Сериализация в меню:
Синтаксис:
Используется csharp
    [System.Serializable]
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);
        }
    }


При попытке добавить такой же "public class SaveSetting" на другой сцене в другом скрипте - Unity говорит о том, что имя класса SaveSetting повторяется. (Duplicate 'System.Serializable') Если назвать класс иначе, то при десериалзации он не читается, так как меню ждёт класс SaveSetting. а не как-то другой.
Как правильно вносить изменения в уже существующий класс данных на разных сценах?
Аватара пользователя
▭▭▭
UNец
 
Сообщения: 5
Зарегистрирован: 11 фев 2023, 13:36

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 21