/// <summary> /// File のLoadリクエスト /// </summary> /// <param name="_fileName">ファイル名(CPKのRootからの相対パス)</param> /// <param name="_data">対象のBindData</param> /// <param name="_onComplete">コールバック</param> /// <returns></returns> private IEnumerator LoadFile(string _fileName, BinderData _data, OnCompleteLoad _onComplete) { // Validation if (string.IsNullOrEmpty(_fileName) || _data == null) { if (_onComplete != null) { _onComplete.Invoke(false, null); } yield break; } CriFsLoadFileRequest req = CriFsUtility.LoadFile(_data.Binder, _fileName); // 待機 yield return(req.WaitForDone(m_manager)); bool isSucceeded = string.IsNullOrEmpty(req.error); if (!isSucceeded) { Debug.LogError("[Error]" + req.error); Debug.LogWarning("Failed to load :" + _fileName); } if (_onComplete != null) { _onComplete.Invoke(isSucceeded, req.bytes); } req.Dispose(); }
public CriFsLoadFileRequest LoadFile(CriFsBinder binder, string path, CriFsRequest.DoneDelegate doneDelegate, int readUnitSize) { var request = new CriFsLoadFileRequest(binder, path, doneDelegate, readUnitSize); this.AddRequest(request); return(request); }
public override void Update() { if (this.loadFileReq != null) { if (this.loadFileReq.isDone) { if (this.loadFileReq.error != null) { this.error = "Error occurred."; this.Done(); } else { this.assetBundleReq = AssetBundle.CreateFromMemory(this.loadFileReq.bytes); } this.loadFileReq = null; } } else if (this.assetBundleReq != null) { if (this.assetBundleReq.isDone) { this.assetBundle = this.assetBundleReq.assetBundle; this.Done(); } } else { this.Done(); } }
public override void Dispose() { if (this.isDisposed) { return; } /* ローダの破棄 */ if (this.loadFileReq != null) { this.loadFileReq.Dispose(); this.loadFileReq = null; } GC.SuppressFinalize(this); this.isDisposed = true; }
public CriFsLoadAssetBundleRequest(CriFsBinder binder, string path, int readUnitSize) { this.path = path; this.loadFileReq = CriFsUtility.LoadFile(binder, path, readUnitSize); }
public CriFsLoadFileRequest LoadFile(CriFsBinder binder, string path, CriFsRequest.DoneDelegate doneDelegate, int readUnitSize) { var request = new CriFsLoadFileRequest(binder, path, doneDelegate, readUnitSize); this.AddRequest(request); return request; }