static void SaveBuildings(string mapName, List <BaseBuildingsClass> buildingsOnMap, RoadsOnMap[] roadsOnMapData) { BinaryFormatter formatter = new BinaryFormatter(); string newFilePath = Path.Combine(Application.persistentDataPath, buildingFileHeader + mapName + fileType); FileStream stream = new FileStream(newFilePath, FileMode.Create); // Get Data BuildingsOnMap[] buildingsSavedata = new BuildingsOnMap[buildingsOnMap.Count]; for (int i = 0; i < buildingsOnMap.Count; ++i) //store and init the data { buildingsSavedata[i] = new BuildingsOnMap(buildingsOnMap[i].transform.position.x, buildingsOnMap[i].transform.position.y, (int)(buildingsOnMap[i].GetBuildingType())); } //store all the info here Save_AllMapData saveMapData = new Save_AllMapData(); saveMapData.saved_BuildingsOnMap = buildingsSavedata; saveMapData.saved_RoadsOnMap = roadsOnMapData; // Save formatter.Serialize(stream, saveMapData); stream.Close(); Debug.Log("SAVED: Buildings Data!\nPath: " + newFilePath); }
static void LoadSavedBuildingsToMap(string mapName) { string newFilePath = Path.Combine(Application.persistentDataPath, buildingFileHeader + mapName + fileType); if (!File.Exists(newFilePath)) { Debug.LogError("Loading Building Saved Data: No such Path!!\n" + newFilePath); return; } BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(newFilePath, FileMode.Open); // Load Data Save_AllMapData mapData = formatter.Deserialize(stream) as Save_AllMapData; stream.Close(); // Do smth with Data MapManager.GetInstance().SaveFileWasLoaded(mapData.saved_BuildingsOnMap, mapData.saved_RoadsOnMap); Debug.Log("LOADED: Map Data!"); }