예제 #1
0
 public unsafe ZipStream openFile(String filename)
 {
     try
     {
         return(new ZipStream(pooledZzipDirHandles.getPooledObject(), fixPathFile(filename)));
     }
     catch (ZipIOException)
     {
         return(null);
     }
 }
        public PooledSceneView getSceneView(Vector3 translation, Vector3 lookAt)
        {
            PooledSceneView pooledView = pool.getPooledObject();

            if (pooledView.SceneView == null)
            {
                pooledView.SceneView = sceneViewController.createTextureSceneView(baseName + Guid.NewGuid().ToString(), translation, lookAt, size.Width, size.Height);
            }
            else
            {
                pooledView.SceneView.immediatlySetPosition(new CameraPosition()
                {
                    Translation     = translation,
                    LookAt          = lookAt,
                    UseIncludePoint = false
                });
            }

            return(pooledView);
        }
예제 #3
0
        private unsafe void commonLoad()
        {
            pooledZzipDirHandles             = new LifecycleObjectPool <PooledZzipDir>(() => new PooledZzipDir(file), dir => dir.Dispose());
            pooledZzipDirHandles.MaxPoolSize = 3;
            PooledZzipDir zzipDir = pooledZzipDirHandles.getPooledObject();

            HashSet <String> foundDirectories = new HashSet <string>();

            //Read the directories and files out of the zip file
            ZZipStat zzipEntry = new ZZipStat();

            while (ZipFile_Read(zzipDir.Ptr, &zzipEntry))
            {
                String entryName = zzipEntry.Name;
                if (fileFilter == null || entryName.StartsWith(fileFilter))
                {
                    ZipFileInfo fileInfo = new ZipFileInfo(entryName, zzipEntry.CompressedSize, zzipEntry.UncompressedSize);
                    //Make sure we don't end with a /
                    if (fileInfo.IsDirectory)
                    {
                        if (!foundDirectories.Contains(fileInfo.FullName))
                        {
                            directories.Add(fileInfo);
                            foundDirectories.Add(fileInfo.FullName);
                        }
                    }
                    else
                    {
                        files.Add(fileInfo);
                    }
                    addParentDirectories(foundDirectories, fileInfo);
                }
            }

            zzipDir.finished();
        }