public static void UnZip(string zipfile, int sceneID) { SceneZip.unZipPath = Application.persistentDataPath + "/Resources/Scenes/" + sceneID; LogSystem.Log(new object[] { "unzip scene file into ->" + SceneZip.unZipPath }); byte[] buffer = QFileUtils.ReadBinary(zipfile); SceneZip.sceneZipReader = new BinaryReader(new MemoryStream(buffer)); SceneZip.UnZipScene(); SceneZip.UnZipLightmap(); while (SceneZip.sceneZipReader.BaseStream.Position < SceneZip.sceneZipReader.BaseStream.Length) { SceneZip.UnZipRegion(); } }
public static void Zip(string scenePath, string zipfilePath) { SceneZip.zipPath = scenePath; SceneZip.sceneZipStream = new MemoryStream(); SceneZip.sceneZipWriter = new BinaryWriter(SceneZip.sceneZipStream); SceneZip.ZipScene(); SceneZip.ZipLightmap(); for (int i = SceneZip.startRegX; i <= SceneZip.endRegX; i++) { for (int j = SceneZip.startRegY; j <= SceneZip.endRegY; j++) { SceneZip.ZipRegion(i, j); } } if (!QFileUtils.Exists(zipfilePath)) { QFileUtils.CreateFile(zipfilePath); } QFileUtils.WriteBytes(zipfilePath, SceneZip.sceneZipStream.ToArray()); }