public static void InitBundleManifest() { if (s_ManifestBundleIndex != -1) { SingleBundleLoader.UnLoad(s_ManifestBundleIndex); s_ManifestBundleIndex = -1; s_ManifestAsset = null; } s_ManifestBundleIndex = SingleBundleLoader.LoadSync(s_ManifestBundleName, null); var loader = SingleBundleLoader.GetLoader(s_ManifestBundleIndex); var bundle = loader.GetAssetBundle(); s_ManifestAsset = bundle.LoadAsset <AssetBundleManifest>(s_ManifestAssetName); }
private int InternalLoadSync(Action <bool, AssetBundle> loadedAction) { if (loadedAction == null) { loadedAction = s_DefaultLoadedCallback; } var index = ResourceManager.GetNewResourceIndex(); m_ResouceIndexSet.Add(index); if (m_LoadState == LoadState.Init || m_LoadState == LoadState.WaitLoad) { var depends = s_ManifestAsset.GetAllDependencies(m_BundleName); foreach (var depend in depends) { var resIndex = SingleBundleLoader.LoadSync(depend, null); m_DependBundleIndexList.Add(resIndex); } m_BundleIndex = SingleBundleLoader.LoadSync(m_BundleName, null); var bundleLoader = SingleBundleLoader.GetLoader(m_BundleIndex); m_Bundle = bundleLoader.GetAssetBundle(); m_LoadState = LoadState.Complete; loadedAction(m_Bundle != null, m_Bundle); } else if (m_LoadState == LoadState.Loading) { Debug.LogWarning("错误加载 fullbundleloader"); } else { loadedAction(m_Bundle != null, m_Bundle); } return(index); }