/// <summary> /// 移除数据对象 /// </summary> /// <param name="path">Path.</param> /// <param name="destroy">If set to <c>true</c> destroy.</param> public void RemoveData(string path, bool destroy = false) { if (this.dataList == null || !this.dataList.ContainsKey(path)) { return; } WwwData wwwData = this.dataList[path]; if (wwwData != null) { // 释放引用的资源 if (wwwData.www.assetBundle != null) { wwwData.www.assetBundle.Unload(false); } wwwData.www.Dispose(); wwwData.www = null; } this.dataList.Remove(path); if (destroy) { this.Destroy(); } }
/// <summary> /// 添加数据到缓存 /// </summary> /// <param name="wwwData">Www data.</param> public void InsertData(WwwData wwwData) { if (wwwData == null) { return; } if (this.dataList == null) { this.dataList = new Dictionary <string, WwwData>(); } this.dataList.Add(wwwData.path, wwwData); }
/// <summary> /// 获得 Texture2D 对象 /// </summary> /// <returns>The data texture.</returns> /// <param name="path">Path.</param> public Texture2D GetDataTexture(string path) { if (this.dataList == null || !this.dataList.ContainsKey(path)) { return(null); } WwwData wwwData = this.dataList[path]; if (wwwData != null) { return(wwwData.www.texture); } return(null); }
/// <summary> /// 获得声音 /// </summary> /// <returns>The data audio clip.</returns> /// <param name="path">Path.</param> public AudioClip GetDataAudioClip(string path) { if (this.dataList == null || !this.dataList.ContainsKey(path)) { return(null); } WwwData wwwData = this.dataList[path]; if (wwwData != null) { return(wwwData.www.audioClip); } return(null); }
/// <summary> /// 获取 AssetBundle 对象 /// </summary> /// <returns>The data asset bundle.</returns> /// <param name="path">Path.</param> public AssetBundle GetDataAssetBundle(string path) { if (this.dataList == null || !this.dataList.ContainsKey(path)) { return(null); } WwwData wwwData = this.dataList[path]; if (wwwData != null) { return(wwwData.www.assetBundle); } return(null); }
/// <summary> /// 加载数据操作 /// </summary> /// <param name="operaterType">If set to <c>true</c> operater type.</param> /// <param name="www">Www.</param> private void LoaderOperater(bool operaterType, WWW www) { if (this.wwwLoaderOrder == null || this.wwwLoaderPath == null) { return; } if (operaterType) { if (this.wwwLoaderPath.loaderTypeEnum != WwwLoaderTypeEnum.UNITY_3D) { WwwData wwwData = new WwwData(this.wwwLoaderPath.path, this.wwwLoaderPath.loaderTypeEnum, www); WwwDataManager.instance.InsertData(wwwData); } } this.wwwLoaderOrder.pathList.Remove(this.wwwLoaderPath); if (this.wwwLoaderObject != null) { this.wwwLoaderObject.UnLoader(false); } this.LoaderItem(); }