/// <summary> /// 缓存加载的资源 /// </summary> void CacheResource(string path, ref ResourceItem item, uint crc, Object obj, int addrefcount = 1) { if (m_NoRefrenceAssetMapList.Find(item)) { m_NoRefrenceAssetMapList.Remove(item); } //缓存太多,清除最早没有使用的资源 WashOut(); if (item == null) { ZLogger.Error("ResourceItem is null, path : {0}", path); } if (obj == null) { ZLogger.Error("ResourceLoad Fail : {0}", path); } item.m_Obj = obj; item.m_Guid = obj.GetInstanceID(); item.m_LastUseTime = Time.realtimeSinceStartup; item.RefCount += addrefcount; ResourceItem oldItem = null; if (AssetDic.TryGetValue(item.m_Crc, out oldItem)) { AssetDic[item.m_Crc] = item; } else { AssetDic.Add(item.m_Crc, item); } }
/// <summary> /// 缓存资源 /// </summary> /// <param name="path"></param> /// <param name="item"></param> /// <param name="obj"></param> /// <param name="addRefCount"></param> void CacheResource(string path, ref ResourceItem item, Object obj, int addRefCount = 1) { if (item == null) { Debug.LogError("ResourceManager CacheResource:ResoutceItem is null" + " path:" + path); return; } if (obj == null) { Debug.LogError("ResourceManager CacheResource:Object is null" + " path:" + path); return; } item.m_Obj = obj; item.m_Guid = obj.GetInstanceID(); item.RefCount += addRefCount; item.m_LastUseTime = Time.realtimeSinceStartup; if (AssetDic.ContainsKey(item.m_Crc)) { AssetDic[item.m_Crc] = item; } else { AssetDic.Add(item.m_Crc, item); } }