123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine.Networking;
- namespace YooAsset
- {
-
-
-
-
- internal class UnityWebFileRequester
- {
- protected UnityWebRequest _webRequest;
- protected UnityWebRequestAsyncOperation _operationHandle;
-
-
-
- public string URL { private set; get; }
-
-
-
- public void SendRequest(string url, string savePath)
- {
- if (_webRequest == null)
- {
- URL = url;
- _webRequest = new UnityWebRequest(URL, UnityWebRequest.kHttpVerbGET);
- DownloadHandlerFile handler = new DownloadHandlerFile(savePath);
- handler.removeFileOnAbort = true;
- _webRequest.downloadHandler = handler;
- _webRequest.disposeDownloadHandlerOnDispose = true;
- _operationHandle = _webRequest.SendWebRequest();
- }
- }
-
-
-
- public void Dispose()
- {
- if (_webRequest != null)
- {
- _webRequest.Dispose();
- _webRequest = null;
- _operationHandle = null;
- }
- }
-
-
-
- public bool IsDone()
- {
- if (_operationHandle == null)
- return false;
- return _operationHandle.isDone;
- }
-
-
-
- public float Progress()
- {
- if (_operationHandle == null)
- return 0;
- return _operationHandle.progress;
- }
-
-
-
- public bool HasError()
- {
- #if UNITY_2020_3_OR_NEWER
- return _webRequest.result != UnityWebRequest.Result.Success;
- #else
- if (_webRequest.isNetworkError || _webRequest.isHttpError)
- return true;
- else
- return false;
- #endif
- }
-
-
-
- public string GetError()
- {
- if (_webRequest != null)
- {
- return $"URL : {URL} Error : {_webRequest.error}";
- }
- return string.Empty;
- }
- }
- }
|