コード例 #1
0
    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);
    }
コード例 #2
0
    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!");
    }