public void LoadDefenseStore() { DefensesStoreData defensesStoreData = SaveSystem.LoadDefensesStore(); int maxTowers = defensesStore.purchasableTowers.Count - 1; int maxSupports = defensesStore.purchasableSupports.Count - 1; int maxGlueSticks = defensesStore.purchasableGlueSticks.Count - 1; for (int i = maxTowers; i >= 0; i--) { if (i > defensesStoreData.purchasableTowersSavedIndex) { defensesStore.purchasedDefenses.Add(defensesStore.purchasableTowers[0]); defensesStore.purchasableTowers.Remove(defensesStore.purchasableTowers[0]); } } for (int i = maxSupports; i >= 0; i--) { if (i > defensesStoreData.purchasableSupportsSavedIndex) { defensesStore.purchasedDefenses.Add(defensesStore.purchasableSupports[0]); defensesStore.purchasableSupports.Remove(defensesStore.purchasableSupports[0]); } } for (int i = maxGlueSticks; i >= 0; i--) { if (i > defensesStoreData.purchasableGlueStickSavedIndex) { defensesStore.purchasedDefenses.Add(defensesStore.purchasableGlueSticks[0]); defensesStore.purchasableGlueSticks.Remove(defensesStore.purchasableGlueSticks[0]); } } }
public static void SaveDefenseStore(DefensesStore defensesStore) { BinaryFormatter formatter = new BinaryFormatter(); string path = Application.persistentDataPath + "/defensesStore.save"; FileStream stream = new FileStream(path, FileMode.Create); DefensesStoreData data = new DefensesStoreData(defensesStore); formatter.Serialize(stream, data); stream.Close(); }
public static DefensesStoreData LoadDefensesStore() { string path = Application.persistentDataPath + "/defensesStore.save"; if (File.Exists(path)) { BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(path, FileMode.Open); DefensesStoreData data = formatter.Deserialize(stream) as DefensesStoreData; stream.Close(); return(data); } else { Debug.LogError("No Save File in: " + path); return(null); } }