예제 #1
0
 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();
     }
 }
예제 #2
0
 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());
 }