protected override void Execute() { var catalogs = new List <IResourceLocator>(m_DepOp.Result.Count); for (int i = 0; i < m_DepOp.Result.Count; i++) { var locator = m_DepOp.Result[i].Result as IResourceLocator; string localHash = null; IResourceLocation remoteLocation = null; if (locator == null) { var catData = m_DepOp.Result[i].Result as ContentCatalogData; locator = catData.CreateCustomLocator(catData.location.PrimaryKey); localHash = catData.localHash; remoteLocation = catData.location; } m_LocatorInfos[i].UpdateContent(locator, localHash, remoteLocation); catalogs.Add(m_LocatorInfos[i].Locator); } if (!m_AutoCleanBundleCache) { Complete(catalogs, true, null); } else { m_CleanCacheOp = m_Addressables.CleanBundleCache(m_DepOp, false); OnCleanCacheCompleted(m_CleanCacheOp, catalogs); } }