using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.Localization; /// /// This class contains all the variables that will be serialized and saved to a file.
/// Can be considered as a save file structure or format. ///
[Serializable] public class Save { // This is test data, written according to TestScript.cs class // This will change according to whatever data that needs to be stored // The variables need to be public, else we would have to write trivial getter/setter functions. public string _locationId; public List _itemStacks = new List(); public List _finishedQuestlineItemsGUIds = new List(); public float _masterVolume = default; public float _musicVolume = default; public float _sfxVolume = default; public int _resolutionsIndex = default; public int _antiAliasingIndex = default; public float _shadowDistance = default; public bool _isFullscreen = default; public Locale _currentLocale = default; public void SaveSettings(SettingsSO settings) { _masterVolume = settings.MasterVolume; _musicVolume = settings.MusicVolume; _sfxVolume = settings.SfxVolume; _resolutionsIndex = settings.ResolutionsIndex; _antiAliasingIndex = settings.AntiAliasingIndex; _shadowDistance = settings.ShadowDistance; _isFullscreen = settings.IsFullscreen; _currentLocale = settings.CurrentLocale; } public string ToJson() { return JsonUtility.ToJson(this); } public void LoadFromJson(string json) { JsonUtility.FromJsonOverwrite(json, this); } }