public static AllSaveData AdjustSaveData(AllSaveData saveData, int targetVersion) { if (saveData.saveVersion == 1 && saveData.saveVersion != targetVersion) { AdjustV1ToV2(saveData); } saveData.saveVersion = targetVersion; return(saveData); }
private void Awake() { if (!inEditMode) { saveData = SaveSystem.LoadData(); curShipData = saveData.shipData[saveData.currentShipID]; AssembleShip(curShipData); } }
public static void SaveData(AllSaveData allSaveData) { DirectoryInfo dirInfo = Directory.CreateDirectory(Application.persistentDataPath + saveFolderName); string json = JsonUtility.ToJson(allSaveData); StreamWriter sw = File.CreateText(GetFullPath()); sw.Write(json); sw.Close(); }
public static void SaveSingleShip(ShipData ship, bool selectAsActive) { AllSaveData saveData = LoadData(); saveData.shipData.Add(ship); if (selectAsActive) { saveData.currentShipID = saveData.shipData.Count - 1; } SaveData(saveData); }
private static void AdjustV1ToV2(AllSaveData saveData) { for (int i = 0; i < saveData.shipData.Count; i++) { var shipData = saveData.shipData[i]; for (int j = 0; j < shipData.availableSystems.Count; j++) { shipData.AddAvailableSystem(shipData.systemDatas[j].system); } } }
public AllSaveData GetSaveData() { AllSaveData allSaveData = new AllSaveData(); allSaveData.currentShipID = selectedShip; allSaveData.shipData = new List <ShipData>(); for (int i = 0; i < allShips.Length; i++) { allSaveData.shipData.Add(allShips[i].shipData); } return(allSaveData); }
private void Initialize() { if (!initialized) { if (saveData == null) { saveData = SaveSystem.LoadData(); } FillShipEntries(); heldVerticalTimer = new Timer(heldVerticalChangeSelectionTime, true); uiInput = InputManager.Instance.generalUIInputManager; initialized = true; Subscribe(); } }
public void Save() { if (dontSave) { return; } DateTime lastSaveTime = DateTime.UtcNow; CropsManagerData cropsManagerData = cropsManager.SaveData(); CoinManagerData coinManagerData = coinManager.SaveData(); AllSaveData allSaveData = new AllSaveData(cropsManagerData, coinManagerData, lastSaveTime); BinaryFormatter bf = new BinaryFormatter(); //Application.persistentDataPath is a string, so if you wanted you can put that into debug.log if you want to know where save games are located FileStream file = File.Create(saveFilePath); //you can call it anything you want bf.Serialize(file, allSaveData); file.Close(); }
private static AllSaveData LoadDefaultSaveData() { AllSaveDataSO allSaveDataSO = Resources.Load <AllSaveDataSO>("DefaultSaveData"); if (allSaveDataSO != null) { var saveData = allSaveDataSO.GetSaveData(); saveData.saveVersion = CurrentSaveVersion; return(saveData); } else { Debug.LogError("DefaultSaveData not found!"); AllSaveData allSaveData = new AllSaveData(); allSaveData.shipData.Add(ShipData.GetDefaultShipData()); allSaveData.currentShipID = 0; return(allSaveData); } }
public void Load() { if (File.Exists(saveFilePath)) { BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Open(saveFilePath, FileMode.Open); AllSaveData allSaveData = (AllSaveData)bf.Deserialize(file); file.Close(); cropsManager.LoadData(allSaveData.cropsManagerData); coinManager.LoadData(allSaveData.coinManagerData, allSaveData.lastSaveTime); } else { cropsManager.Initialise(); coinManager.Initialise(); dontSave = false; } }
public static AllSaveData LoadData() { string path = GetFullPath(); AllSaveData saveData; if (File.Exists(path)) { string textData = File.ReadAllText(path); saveData = JsonUtility.FromJson <AllSaveData>(textData); if (saveData.saveVersion != AllSaveData.CurrentSaveVersion) { //Handle differences between versions VersionAdjuster.AdjustSaveData(saveData, AllSaveData.CurrentSaveVersion); SaveData(saveData); } return(saveData); } else { saveData = AllSaveData.GetDefaultSaveData(); SaveData(saveData); return(saveData); } }