/// <summary> /// 开始加载 /// </summary> /// <returns>The begin.</returns> /// <param name="path">Path.</param> /// <param name="loaderTypeEnum">Loader type enum.</param> /// <param name="version">Version.</param> private IEnumerator LoaderBegin(string path, WwwLoaderTypeEnum loaderTypeEnum, int version) { // 说明,这儿只有 场景(默认是把场景打包成 Unity3D 后缀文件) 使用缓存池加载,因为不用缓存池加载方法,无法使用 Application.LoadLevel 加载场景 // 可能是自己理解的不多,还是本来就应该是这样,这儿可以按照自己的处理方式进行调整 if (loaderTypeEnum == WwwLoaderTypeEnum.UNITY_3D) { this.www = WWW.LoadFromCacheOrDownload(path, version); } else { this.www = new WWW(path); } yield return(this.www); if (!string.IsNullOrEmpty(this.www.error)) { this.InvokeError(this.www.error); } else { if (this.www.isDone) { this.InvokeComplete(this.www); } } this.StopCoroutine(LoaderBegin(path, loaderTypeEnum, version)); }
public void Loader(string path, WwwLoaderTypeEnum loaderTypeEnum, int version, WwwLoaderItem.DelegateLoaderProgress loaderProgress, WwwLoaderItem.DelegateLoaderComplete loaderComplete, WwwLoaderItem.DelegateLoaderError loaderError) { this.loaderProgress = loaderProgress; this.loaderComplete = loaderComplete; this.loaderError = loaderError; if (this.gameObject == null) { this.gameObject = new GameObject(); this.gameObject.name = "ResourceLoadeManager"; } this.wwwLoaderItem = this.gameObject.AddComponent <WwwLoaderItem>(); if (this.wwwLoaderItem == null) { return; } this.wwwLoaderItem.onProgress += this.loaderProgress; this.wwwLoaderItem.onError += this.loaderError; this.wwwLoaderItem.onComplete += this.loaderComplete; this.wwwLoaderItem.Loader(path, loaderTypeEnum, version); }
/// <summary> /// 开始加载 /// </summary> /// <param name="path">Path.</param> /// <param name="loaderTypeEnum">Loader type enum.</param> /// <param name="version">Version.</param> public void Loader(string path, WwwLoaderTypeEnum loaderTypeEnum, int version) { this.progressStatus = false; this.StartCoroutine(LoaderBegin(path, loaderTypeEnum, version)); }
/// <summary> /// 构造函数 /// </summary> /// <param name="path">Path.</param> /// <param name="loaderTypeEnum">Loader type enum.</param> /// <param name="www">Www.</param> public WwwData(string path, WwwLoaderTypeEnum loaderTypeEnum, WWW www) { this.path = path; this.loaderTypeEnum = loaderTypeEnum; this.www = www; }
/// <summary> /// 构造函数 /// </summary> /// <param name="path">Path.</param> /// <param name="version">Version.</param> /// <param name="loaderTypeEnum">Loader type enum.</param> public WwwLoaderPath(string path, int version, WwwLoaderTypeEnum loaderTypeEnum) { this.path = path; this.version = version; this.loaderTypeEnum = loaderTypeEnum; }