| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | 
							- using System;
 
- using System.IO;
 
- using System.Collections;
 
- using System.Collections.Generic;
 
- namespace YooAsset
 
- {
 
- 	internal class PackageCache
 
- 	{
 
- 		internal class RecordWrapper
 
- 		{
 
- 			public string InfoFilePath { private set; get; }
 
- 			public string DataFilePath { private set; get; }
 
- 			public string DataFileCRC { private set; get; }
 
- 			public long DataFileSize { private set; get; }
 
- 			public RecordWrapper(string infoFilePath, string dataFilePath, string dataFileCRC, long dataFileSize)
 
- 			{
 
- 				InfoFilePath = infoFilePath;
 
- 				DataFilePath = dataFilePath;
 
- 				DataFileCRC = dataFileCRC;
 
- 				DataFileSize = dataFileSize;
 
- 			}
 
- 		}
 
- 		private readonly Dictionary<string, RecordWrapper> _wrappers = new Dictionary<string, RecordWrapper>();
 
- 		/// <summary>
 
- 		/// 包裹名称
 
- 		/// </summary>
 
- 		public string PackageName { private set; get; }
 
- 		public PackageCache(string packageName)
 
- 		{
 
- 			PackageName = packageName;
 
- 		}
 
- 		/// <summary>
 
- 		/// 清空所有数据
 
- 		/// </summary>
 
- 		public void ClearAll()
 
- 		{
 
- 			_wrappers.Clear();
 
- 		}
 
- 		/// <summary>
 
- 		/// 获取缓存文件总数
 
- 		/// </summary>
 
- 		public int GetCachedFilesCount()
 
- 		{
 
- 			return _wrappers.Count;
 
- 		}
 
- 		/// <summary>
 
- 		/// 查询缓存记录
 
- 		/// </summary>
 
- 		public bool IsCached(string cacheGUID)
 
- 		{
 
- 			return _wrappers.ContainsKey(cacheGUID);
 
- 		}
 
- 		/// <summary>
 
- 		/// 记录验证结果
 
- 		/// </summary>
 
- 		public void Record(string cacheGUID, RecordWrapper wrapper)
 
- 		{
 
- 			if (_wrappers.ContainsKey(cacheGUID) == false)
 
- 			{
 
- 				_wrappers.Add(cacheGUID, wrapper);
 
- 			}
 
- 			else
 
- 			{
 
- 				throw new Exception("Should never get here !");
 
- 			}
 
- 		}
 
- 		/// <summary>
 
- 		/// 丢弃验证结果
 
- 		/// </summary>
 
- 		public void Discard(string cacheGUID)
 
- 		{
 
- 			if (_wrappers.ContainsKey(cacheGUID))
 
- 			{
 
- 				_wrappers.Remove(cacheGUID);
 
- 			}
 
- 		}
 
- 		/// <summary>
 
- 		/// 获取记录对象
 
- 		/// </summary>
 
- 		public RecordWrapper TryGetWrapper(string cacheGUID)
 
- 		{
 
- 			if (_wrappers.TryGetValue(cacheGUID, out RecordWrapper value))
 
- 				return value;
 
- 			else
 
- 				return null;
 
- 		}
 
- 		internal List<string> GetAllKeys()
 
- 		{
 
- 			List<string> keys = new List<string>(_wrappers.Keys.Count);
 
- 			var keyCollection = _wrappers.Keys;
 
- 			foreach (var key in keyCollection)
 
- 			{
 
- 				keys.Add(key);
 
- 			}
 
- 			return keys;
 
- 		}
 
- 	}
 
- }
 
 
  |