public BundleLoader(System.Uri uri, BundleInfo bundleInfo, BundleLoader[] dependencies, BundleManager manager) { if (bundleInfo == null) { throw new System.ArgumentNullException("bundleInfo"); } this.uri = uri; this.bundleInfo = bundleInfo; this.manager = manager; this.manager.AddBundleLoader(this); this.requestCache = new Dictionary <string, AssetBundleRequest>(); this.executor = this.manager.Executor; this.dependencies = new List <BundleLoader>(); if (dependencies == null || dependencies.Length == 0) { return; } for (int i = 0; i < dependencies.Length; i++) { var dependency = dependencies[i]; if (!this.dependencies.Contains(dependency)) { dependency.Retain(); this.dependencies.Add(dependency); } } }
public override BundleLoader Create(BundleManager manager, BundleInfo bundleInfo, BundleLoader[] dependencies) { Uri loadBaseUri = this.BaseUri; if (this.useCache && BundleUtil.ExistsInCache(bundleInfo)) { loadBaseUri = this.BaseUri; return(new WWWBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, dependencies, manager, this.useCache)); } if (BundleUtil.ExistsInStorableDirectory(bundleInfo)) { /* Path: Application.persistentDataPath + "/bundles/" + bundleInfo.Filename */ loadBaseUri = new Uri(BundleUtil.GetStorableDirectory()); } #if !UNITY_WEBGL || UNITY_EDITOR else if (BundleUtil.ExistsInReadOnlyDirectory(bundleInfo)) { /* Path: Application.streamingAssetsPath + "/bundles/" + bundleInfo.Filename */ loadBaseUri = new Uri(BundleUtil.GetReadOnlyDirectory()); } #endif if (bundleInfo.IsEncrypted) { if (this.decryptor != null && bundleInfo.Encoding.Equals(decryptor.AlgorithmName)) { return(new CryptographBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, dependencies, manager, decryptor)); } throw new NotSupportedException(string.Format("Not support the encryption algorithm '{0}'.", bundleInfo.Encoding)); } return(new WWWBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, dependencies, manager, this.useCache)); }
public BundleLoader(System.Uri uri, BundleInfo bundleInfo, BundleManager manager) { if (bundleInfo == null) { throw new System.ArgumentNullException("bundleInfo"); } this.uri = uri; this.bundleInfo = bundleInfo; this.manager = manager; this.manager.AddBundleLoader(this); this.executor = this.manager.Executor; }
public DefaultBundle(BundleInfo bundleInfo, BundleManager manager) { if (bundleInfo == null) { throw new System.ArgumentNullException("bundleInfo"); } this.bundleInfo = bundleInfo; this.manager = manager; this.manager.AddBundle(this); this.requestCache = new Dictionary <string, AssetBundleRequest>(); this.loaders = new List <BundleLoader>(); }
public override BundleLoader Create(BundleManager manager, BundleInfo bundleInfo) { Uri loadBaseUri = this.BaseUri; if (this.useCache && BundleUtil.ExistsInCache(bundleInfo)) { //Load assets from the cache of Unity3d. loadBaseUri = this.BaseUri; return(new UnityWebRequestBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, manager, this.useCache)); } if (BundleUtil.ExistsInStorableDirectory(bundleInfo)) { //Load assets from the "Application.persistentDataPath/bundles" folder. /* Path: Application.persistentDataPath + "/bundles/" + bundleInfo.Filename */ loadBaseUri = new Uri(BundleUtil.GetStorableDirectory()); } #if !UNITY_WEBGL || UNITY_EDITOR else if (BundleUtil.ExistsInReadOnlyDirectory(bundleInfo)) { //Load assets from the "Application.streamingAssetsPath/bundles" folder. /* Path: Application.streamingAssetsPath + "/bundles/" + bundleInfo.Filename */ loadBaseUri = new Uri(BundleUtil.GetReadOnlyDirectory()); } #endif if (bundleInfo.IsEncrypted) { if (this.decryptor != null && bundleInfo.Encoding.Equals(decryptor.AlgorithmName)) { return(new CryptographBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, manager, decryptor)); } throw new NotSupportedException(string.Format("Not support the encryption algorithm '{0}'.", bundleInfo.Encoding)); } //Loads assets from an Internet address if it does not exist in the local directory. if (this.IsRemoteUri(loadBaseUri)) { return(new UnityWebRequestBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, manager, this.useCache)); } else { return(new FileAsyncBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, manager)); } }
public override BundleLoader Create(BundleManager manager, BundleInfo bundleInfo) { Uri loadBaseUri = this.BaseUri; if (BundleUtil.ExistsInStorableDirectory(bundleInfo)) { /* Path: Application.persistentDataPath + "/bundles/" + bundleInfo.Filename */ loadBaseUri = new Uri(BundleUtil.GetStorableDirectory()); } #if !UNITY_WEBGL || UNITY_EDITOR else if (BundleUtil.ExistsInReadOnlyDirectory(bundleInfo)) { /* Path: Application.streamingAssetsPath + "/bundles/" + bundleInfo.Filename */ loadBaseUri = new Uri(BundleUtil.GetReadOnlyDirectory()); } #endif if (bundleInfo.IsEncrypted) { if (this.decryptor != null && bundleInfo.Encoding.Equals(decryptor.AlgorithmName)) { return(new CryptographBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, manager, decryptor)); } throw new NotSupportedException(string.Format("Not support the encryption algorithm '{0}'.", bundleInfo.Encoding)); } #if UNITY_ANDROID && !UNITY_5_4_OR_NEWER if (loadBaseUri != null && loadBaseUri.Scheme.Equals("jar", StringComparison.OrdinalIgnoreCase)) { return(new WWWBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, manager, false)); } #endif return(new FileAsyncBundleLoader(new Uri(loadBaseUri, bundleInfo.Filename), bundleInfo, manager)); }
public FileAsyncBundleLoader(Uri uri, BundleInfo bundleInfo, BundleLoader[] dependencies, BundleManager manager) : base(uri, bundleInfo, dependencies, manager) { }
public override BundleLoader Create(BundleManager manager, BundleInfo bundleInfo, BundleLoader[] dependencies) { return(new FileAsyncBundleLoader(new Uri(this.BaseUri, bundleInfo.Filename), bundleInfo, dependencies, manager)); }
public UnityWebRequestBundleLoader(System.Uri uri, BundleInfo bundleInfo, BundleManager manager, bool useCache = true) : base(uri, bundleInfo, manager) { this.useCache = useCache | this.IsRemoteUri(); }
public override BundleLoader Create(BundleManager manager, BundleInfo bundleInfo) { return(new UnityWebRequestBundleLoader(new System.Uri(this.BaseUri, bundleInfo.Filename), bundleInfo, manager, this.useCache)); }
public FileAsyncBundleLoader(Uri uri, BundleInfo bundleInfo, BundleManager manager) : base(uri, bundleInfo, manager) { }
public abstract BundleLoader Create(BundleManager manager, BundleInfo bundleInfo, BundleLoader[] dependencies);
public abstract BundleLoader Create(BundleManager manager, BundleInfo bundleInfo);
public WWWBundleLoader(Uri uri, BundleInfo bundleInfo, BundleManager manager, bool useCache) : base(uri, bundleInfo, manager) { this.useCache = useCache; }
public override BundleLoader Create(BundleManager manager, BundleInfo bundleInfo) { return(new WWWBundleLoader(new Uri(this.BaseUri, bundleInfo.Filename), bundleInfo, manager, this.useCache)); }
public CryptographBundleLoader(Uri uri, BundleInfo bundleInfo, BundleManager manager, IDecryptor decryptor) : base(uri, bundleInfo, manager) { this.decryptor = decryptor; }
public override BundleLoader Create(BundleManager manager, BundleInfo bundleInfo) { return(new CryptographBundleLoader(new Uri(this.BaseUri, bundleInfo.Filename), bundleInfo, manager, this.decryptor)); }