Exemple #1
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = CentroidMs1.GetHashCode();
         hashCode = (hashCode * 397) ^ CentroidMs2.GetHashCode();
         hashCode = (hashCode * 397) ^ (LockMassParameters != null ? LockMassParameters.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (ServerUrl != null ? ServerUrl.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Username != null ? Username.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ ModifiedTime.GetHashCode();
         hashCode = (hashCode * 397) ^ (EncodedPath != null ? EncodedPath.GetHashCode() : 0);
         return(hashCode);
     }
 }
Exemple #2
0
        public static void Initialize()
        {
            if (!PathManager.TempPath.Exists)
            {
                PathManager.TempPath.Create();
            }

            if (!ImageOptimzedPath.Exists)
            {
                ImageOptimzedPath.Create();
            }

            if (!EncodedPath.Exists)
            {
                EncodedPath.Create();
            }

            if (!PVRPath.Exists)
            {
                PVRPath.Create();
            }

            Clear();
            mFileCache.items.Clear();


            if (File.Exists(PathManager.TempFileCachePath.FullName))
            {
                //add resource map to file system also
                using (var file = File.Open(PathManager.TempFileCachePath.FullName, FileMode.Open, FileAccess.Read))
                {
                    mFileCache = Serializer.Deserialize <FileCache>(file);
                }
            }

            List <FileCacheItem> removeItems = new List <FileCacheItem>();

            foreach (var fileCacheItem in mFileCache.items)
            {
                var fileDict = GetFileCacheItems((FileCacheOperation)fileCacheItem.Operation);
                //Hack
                //FileInfo info = new FileInfo(fileCacheItem.OriginalName);
                //fileCacheItem.OriginalName = info.Name;

                //if (fileCacheItem.OriginalName.EndsWith(".pvr"))
                //{
                //    fileCacheItem.OriginalName = fileCacheItem.OriginalName.Replace(".pvr", ".png");
                //}
                //Hack

                if (!fileDict.ContainsKey(fileCacheItem.OriginalName))
                {
                    fileDict.Add(fileCacheItem.OriginalName, fileCacheItem);
                }
                else
                {
                    var oldItem = fileDict[fileCacheItem.OriginalName];
                    if (fileCacheItem.TextureRect != null)
                    {
                        oldItem.TextureRect = fileCacheItem.TextureRect;
                    }

                    if (fileCacheItem.Offset != null)
                    {
                        oldItem.Offset = fileCacheItem.Offset;
                    }

                    if (fileCacheItem.OriginalName != null)
                    {
                        oldItem.OriginalName = fileCacheItem.OriginalName;
                    }
                    Logger.LogInfoLine("FileCache FileSystem Duplicate:{0}", fileCacheItem.path);

                    removeItems.Add(fileCacheItem);
                }
            }

            foreach (var fileCacheItem in removeItems)
            {
                mFileCache.items.Remove(fileCacheItem);
                var dir = GetTempDirectoryInfo((FileCacheOperation)fileCacheItem.Operation);

                var fileDict = GetFileCacheItems((FileCacheOperation)fileCacheItem.Operation);
                if (!fileDict.ContainsKey(fileCacheItem.OriginalName))
                {
                    var curPath = Path.Combine(dir.FullName, fileCacheItem.path);
                    File.Delete(curPath);
                }
            }


            if (File.Exists(PathManager.TempFileSystemPath.FullName))
            {
                //add resource map to file system also
                using (var file = File.Open(PathManager.TempFileSystemPath.FullName, FileMode.Open, FileAccess.Read))
                {
                    mFileSystem = Serializer.Deserialize <FileSystem>(file);
                }
            }

            Save();
        }