예제 #1
0
		private static UnityObject GetResourceInCache(String path, ResolveLevel resolveLevel, out AssetCache cache)
		{
			cache = null;

			if (path == null)
				return null;

			if (resolveLevel > ResolveLevel.None)		//如果非ResolveLevel.None,不能直接返回此值,因为它的依赖还未 Resolve
				return null;

			path = UnifyPath(path);

			if (!Instance.m_assetCacheMap.TryGetValue(path, out cache))		//缓存中无任何记录
			{
				return null;
			}

			var asset = cache.GetAssetIfReady();
			if (!(asset is Material) || MakeSureIsMaterialAndHasAllTexture(cache))
			{
				return asset;
			}
			else
			{
				return null;
			}
		}