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; } }