static void SaveResources(string mapName) { BinaryFormatter formatter = new BinaryFormatter(); string newFilePath = Path.Combine(Application.persistentDataPath, resourceFileHeader + mapName + fileType); FileStream stream = new FileStream(newFilePath, FileMode.Create); // Create the Save Structure Save_AllResourcesData saveResourceData = new Save_AllResourcesData(); saveResourceData.saved_Resources = new Resources[(int)ResourceManager.RESOURCES.R_NONE]; // Store and Init the data for (int i = 0; i < saveResourceData.saved_Resources.Length; ++i) { saveResourceData.saved_Resources[i] = new Resources(i, ResourceManager.GetInstance().GetResource((ResourceManager.RESOURCES)i)); } // Save formatter.Serialize(stream, saveResourceData); stream.Close(); Debug.Log("SAVED: Resources Data!\nPath: " + newFilePath); }
static void LoadResources(string mapName) { string newFilePath = Path.Combine(Application.persistentDataPath, resourceFileHeader + mapName + fileType); if (!File.Exists(newFilePath)) { Debug.LogError("Loading Resources Saved Data: No such Path!!\n" + newFilePath); return; } BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(newFilePath, FileMode.Open); // Load Data Save_AllResourcesData resourceData = formatter.Deserialize(stream) as Save_AllResourcesData; stream.Close(); // Set the Resources for (int i = 0; i < resourceData.saved_Resources.Length; ++i) { ResourceManager.GetInstance().SetResource((ResourceManager.RESOURCES)resourceData.saved_Resources[i].resourceID, resourceData.saved_Resources[i].amount); } Debug.Log("LOADED: Resource Data!"); }