internal SceneRequest(AssetBundleManager manager, Int32 priority, AssetBundleCache assetBundleCache, AssetKey assetKey, SceneRequestCallback callback) : base(manager) { m_Priority = priority; m_AssetBundleCache = assetBundleCache; m_AssetKey = assetKey; m_Callback = callback; }
internal Boolean CheckAndLoadBundles(AssetBundleCache bundle, Int32 priority) { Boolean flag = true; AssetBundleCache[] dependencies = bundle.Dependencies; if (dependencies != null) { foreach (AssetBundleCache assetBundleCache in dependencies) { flag &= (assetBundleCache.Status >= EStatus.Ready); if (assetBundleCache.Status == EStatus.None) { assetBundleCache.UpdateStatusLoad(); LoadAssetBundle(assetBundleCache, priority); } } } if (flag) { flag = (bundle.Status >= EStatus.Ready); if (bundle.Status == EStatus.None) { bundle.UpdateStatusLoad(); LoadAssetBundle(bundle, priority); } } return(flag); }
private void InitDatabase() { if (m_Database != null) { UnloadManager(true); m_AssetBundles = new Dictionary <String, AssetBundleCache>(m_Database.AssetBundleCount, StringComparer.InvariantCultureIgnoreCase); foreach (AssetBundleData assetBundleData in m_Database) { AssetBundleCache value = new AssetBundleCache(assetBundleData); m_AssetBundles.Add(assetBundleData.Name, value); } foreach (AssetBundleCache assetBundleCache in m_AssetBundles.Values) { AssetBundleData[] bundleDependency = assetBundleCache.Data.BundleDependency; if (bundleDependency != null) { for (Int32 i = 0; i < bundleDependency.Length; i++) { String name = bundleDependency[i].Name; m_AssetBundles.TryGetValue(name, out assetBundleCache.Dependencies[i]); } } } } }
private void LoadAssetBundle(AssetBundleCache bundle, Int32 priority) { if (m_AssetBundleLoader == null) { Debug.LogError("Lost reference"); return; } m_AssetBundleLoader.Load(bundle.Data.Path, priority, bundle.Data.Size, bundle.Data.Version, bundle.Data.CrcValue, bundle); }
private void AssetBundleLoader_LoadCompleted(Object sender, LoadCompletedEventArgs e) { AssetBundleCache assetBundleCache = e.UserToken as AssetBundleCache; if (assetBundleCache != null && m_AssetBundles != null && m_AssetBundles.ContainsValue(assetBundleCache)) { if (e.Cancelled) { assetBundleCache.UpdateStatus("Loading cancelled."); } else if (e.IsError) { assetBundleCache.UpdateStatus("Error: " + e.Error); } else { assetBundleCache.UpdateStatus(e.Request.GetAssetBundle()); } UpdateRequestTasks(); } }
internal AssetAsyncLoad(AssetBundleCache origin, AssetKey key, UnityEngine.AssetBundleRequest asyncRequest) { m_Origin = origin; m_Key = key; m_AsyncRequest = asyncRequest; }