private IEnumerator loadFile() { LinkedListNode <LoadAssetStruct> node = waitingLoad.First; LoadAssetStruct assetStruct = node.Value; waitingLoad.RemoveFirst(); WWW www = setLoadingFile(assetStruct.fileId, assetStruct.filePath); yield return(www); loadCompleted(assetStruct); }
public void getText(string filePath, string fileId, Action <string, string> func) { LoadAssetStruct assetStruct = new LoadAssetStruct(); assetStruct.fileId = fileId; assetStruct.filePath = filePath; assetStruct.fileType = AssetType.xml; assetStruct.stringkAction = func; waitingLoad.AddLast(assetStruct); if (loadingProgress.Count < Tips.MAX_LOAD_COUNT) { StartCoroutine(loadFile()); } }
public void getFile(string filePath, string fileId, Action <string, byte[]> func) { LoadAssetStruct assetStruct = new LoadAssetStruct(); assetStruct.fileId = fileId; assetStruct.filePath = filePath; assetStruct.fileType = AssetType.bytes; assetStruct.bytekAction = func; //Debug.Log("111 ------ " + assetStruct.fileId); waitingLoad.AddLast(assetStruct); if (loadingProgress.Count < Tips.MAX_LOAD_COUNT) { StartCoroutine(loadFile()); } }
private void loadCompleted(LoadAssetStruct assetStruct) { if (waitingLoad.Count > 0) { StartCoroutine(loadFile()); } WWW www = loadingProgress[assetStruct.fileId]; loadingProgress.Remove(assetStruct.fileId); string error = www.error; if (error != null) { if (!loadFinished.ContainsKey(assetStruct.fileId)) { loadFinished.Add(assetStruct.fileId, false); } } else { if (!loadFinished.ContainsKey(assetStruct.fileId)) { loadFinished.Add(assetStruct.fileId, true); } } switch (assetStruct.fileType) { case AssetType.bootstrap: break; case AssetType.manifest: break; case AssetType.lesson_list: break; case AssetType.lesson: break; case AssetType.assetBundle: break; case AssetType.texture2D: break; case AssetType.text: break; case AssetType.audioClip: break; case AssetType.video: break; case AssetType.scene: break; case AssetType.bytes: byte[] bytes = null; if (error == null) { bytes = www.bytes; } www.Dispose(); Action <string, byte[]> bytekAction = assetStruct.bytekAction; if (bytekAction != null) { bytekAction(assetStruct.fileId, bytes); } break; case AssetType.xml: string xml = null; if (error == null) { xml = www.text; } www.Dispose(); Action <string, string> stringAction = assetStruct.stringkAction; if (stringAction != null) { stringAction(assetStruct.fileId, xml); } break; default: break; } }