public static void SaveSystemSettings(SystemSettingsData ssd) { BinaryFormatter bf = new BinaryFormatter(); string path = Application.persistentDataPath + "/systemSettings.bin"; FileStream stream = new FileStream(path, FileMode.Create); bf.Serialize(stream, ssd); stream.Close(); }
// Start is called before the first frame update protected void Start() { settings = GetComponent <SystemSettings>(); if (settings && SaveSystemXml.CheckFileExsits()) { SystemSettingsData settingsData = SaveSystemXml.LoadSettings(); settings.fullscreen = settingsData.Fullscreen; settings.resolution = settingsData.Resolution; settings.vsyncCount = settingsData.VsyncCount; settings.graphicsPreset = settingsData.GraphicsPreset; settings.masterVolume = settingsData.MasterVolume; settings.effectsVolume = settingsData.EffectsVolume; } else { SaveSystemXml.SaveSettings(settings); } if (resolutionDropdown) { FindSupportedResolutions(); Screen.SetResolution(settings.resolution[0], settings.resolution[1], Screen.fullScreen); } if (qualityDropdown) { qualityDropdown.value = settings.graphicsPreset; qualityDropdown.RefreshShownValue(); QualitySettings.SetQualityLevel(settings.graphicsPreset); } if (fullscreenDropdown) { if (settings.fullscreen == true) { fullscreenDropdown.value = 1; fullscreenDropdown.RefreshShownValue(); } else { fullscreenDropdown.value = 0; fullscreenDropdown.RefreshShownValue(); } Screen.fullScreen = settings.fullscreen; } if (vsyncDropdown) { vsyncDropdown.value = settings.vsyncCount; vsyncDropdown.RefreshShownValue(); QualitySettings.vSyncCount = settings.vsyncCount; } }
public void Awake() { progression = GameObject.FindGameObjectWithTag("ProgressChecker").GetComponent <TextMeshProUGUI>(); GameObject[] objs = GameObject.FindGameObjectsWithTag("LevelLoader"); if (objs.Length > 1) { Destroy(this.gameObject); return; } GameObject Tog = GameObject.FindGameObjectWithTag("FullAccess"); SystemSettingsData ssd = SaveSystem.LoadSystemSettings(); if (ssd == null) { /* GameObject map = GameObject.Find("/Canvas/MapContainer/Map"); * SaveSystem.mapScroll = map.gameObject.GetComponent<RectTransform>().transform.position;*/ ssd = new SystemSettingsData(); } Tog.gameObject.GetComponent <Toggle>().isOn = ssd.fullAccessEnabled; LevelData[] temp = SaveSystem.LoadLevels(); SaveSystem.getAllLevels(); if (temp == null) { SaveSystem.levelData = SaveSystem.getAllLevels(); SaveSystem.SaveLevels(SaveSystem.levelData); } else if (temp.Length > SaveSystem.levelData.Length) { LevelData[] temp2 = SaveSystem.levelData; SaveSystem.levelData = new LevelData[temp.Length]; for (int i = 0; i < SaveSystem.levelData.Length; i++) { for (int j = 0; j < temp2.Length; j++) { if (temp[i].index == temp2[j].index) { SaveSystem.levelData[i] = temp2[j]; break; } } SaveSystem.levelData[i] = temp[i]; } } else { SaveSystem.levelData = temp; } /* foreach (LevelData l in SaveSystem.levelData) * Debug.Log(l.ToString());*/ progression.SetText(SaveSystem.completedLevelCount + "/" + SaveSystem.totalLevelCount); DontDestroyOnLoad(this.gameObject); }
public static void DisableFullAccessMode() { bool foundend = false; for (int i = 0; i < SaveSystem.levelData.Length; i++) { if (!levelData[i].levelPassed) { levelData[i].levelAccessible = false; } else if (levelData[i].levelPassed && foundend) { levelData[i].levelAccessible = false; //levelData[i].levelPassed = false; // erases win data } if (!foundend) { if ((i - 1) >= 0 && levelData[i - 1].levelPassed && !levelData[i].levelPassed) { levelData[i].levelAccessible = true; foundend = true; } } } fullAccessMode = false; if (systemSettingsData == null) { systemSettingsData = new SystemSettingsData(); } systemSettingsData.fullAccessEnabled = false; GameObject map = GameObject.Find("/Canvas/MapContainer/Map"); /* mapScroll = map.gameObject.GetComponent<RectTransform>().transform.position; * systemSettingsData.mapScroll[0] = mapScroll.x; * systemSettingsData.mapScroll[1] = mapScroll.y; * systemSettingsData.mapScroll[2] = mapScroll.z;*/ SaveLevels(levelData); LoadLevels(); SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); SaveSystemSettings(systemSettingsData); }
public static void EnableFullAccessMode() { for (int i = 0; i < SaveSystem.levelData.Length; i++) { levelData[i].levelAccessible = true; } fullAccessMode = true; if (systemSettingsData == null) { systemSettingsData = new SystemSettingsData(); } systemSettingsData.fullAccessEnabled = true; /* GameObject map = GameObject.Find("/Canvas/MapContainer/Map"); * mapScroll = map.gameObject.GetComponent<RectTransform>().transform.position; * systemSettingsData.mapScroll[0] = mapScroll.x; * systemSettingsData.mapScroll[1] = mapScroll.y; * systemSettingsData.mapScroll[2] = mapScroll.z;*/ SaveLevels(levelData); SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); SaveSystemSettings(systemSettingsData); }
public static SystemSettingsData LoadSystemSettings() { string path = Application.persistentDataPath + "/systemSettings.bin"; if (File.Exists(path)) { BinaryFormatter bf = new BinaryFormatter(); FileStream stream = new FileStream(path, FileMode.Open); systemSettingsData = bf.Deserialize(stream) as SystemSettingsData; stream.Close(); fullAccessMode = systemSettingsData.fullAccessEnabled; /* mapScroll.x = systemSettingsData.mapScroll[0]; * mapScroll.y = systemSettingsData.mapScroll[1]; * mapScroll.z = systemSettingsData.mapScroll[2];*/ return(systemSettingsData); } else { Debug.LogError("System Settings save file not found."); return(null); } }