private IEnumerator LoadBytesCo(string fileUri, LoadBytesCallbacks loadBytesCallbacks, object userData) { bool isError = false; byte[] bytes = null; string errorMessage = null; DateTime startTime = DateTime.Now; UnityWebRequest unityWebRequest = UnityWebRequest.Get(fileUri); yield return(unityWebRequest.SendWebRequest()); isError = unityWebRequest.isNetworkError || unityWebRequest.isHttpError; bytes = unityWebRequest.downloadHandler.data; errorMessage = isError ? unityWebRequest.error : null; unityWebRequest.Dispose(); if (!isError) { float elapseSeconds = (float)(DateTime.Now - startTime).TotalSeconds; loadBytesCallbacks.LoadBytesSuccessCallback(fileUri, bytes, elapseSeconds, userData); } else if (loadBytesCallbacks.LoadBytesFailureCallback != null) { loadBytesCallbacks.LoadBytesFailureCallback(fileUri, errorMessage, userData); } }
private IEnumerator LoadBytesCo(string fileUri, LoadBytesCallbacks loadBytesCallbacks, object userData) { bool isError = false; byte[] bytes = null; string errorMessage = null; DateTime startTime = DateTime.UtcNow; #if UNITY_5_4_OR_NEWER UnityWebRequest unityWebRequest = UnityWebRequest.Get(fileUri); #if UNITY_2017_2_OR_NEWER yield return(unityWebRequest.SendWebRequest()); #else yield return(unityWebRequest.Send()); #endif #if UNITY_2020_2_OR_NEWER isError = unityWebRequest.result != UnityWebRequest.Result.Success; #elif UNITY_2017_1_OR_NEWER isError = unityWebRequest.isNetworkError || unityWebRequest.isHttpError; #else isError = unityWebRequest.isError; #endif bytes = unityWebRequest.downloadHandler.data; errorMessage = isError ? unityWebRequest.error : null; unityWebRequest.Dispose(); #else WWW www = new WWW(fileUri); yield return(www); isError = !string.IsNullOrEmpty(www.error); bytes = www.bytes; errorMessage = www.error; www.Dispose(); #endif if (!isError) { float elapseSeconds = (float)(DateTime.UtcNow - startTime).TotalSeconds; loadBytesCallbacks.LoadBytesSuccessCallback(fileUri, bytes, elapseSeconds, userData); } else if (loadBytesCallbacks.LoadBytesFailureCallback != null) { loadBytesCallbacks.LoadBytesFailureCallback(fileUri, errorMessage, userData); } }
private IEnumerator LoadBytesCo(string fileUri, LoadBytesCallbacks loadBytesCallback) { byte[] bytes = null; string errorMessage = null; #if UNITY_5_4_OR_NEWER UnityWebRequest unityWebRequest = UnityWebRequest.Get(fileUri); #if UNITY_2017_2_OR_NEWER yield return(unityWebRequest.SendWebRequest()); #else yield return(unityWebRequest.Send()); #endif bool isError = false; #if UNITY_2017_1_OR_NEWER isError = unityWebRequest.isNetworkError || unityWebRequest.isHttpError; #else isError = unityWebRequest.isError; #endif bytes = unityWebRequest.downloadHandler.data; errorMessage = isError ? unityWebRequest.error : null; unityWebRequest.Dispose(); #else WWW www = new WWW(fileUri); yield return(www); bytes = www.bytes; errorMessage = www.error; www.Dispose(); #endif if (loadBytesCallback != null) { //loadBytesCallback(fileUri, bytes, errorMessage); } }
/// <summary> /// 直接从指定文件路径加载数据流。 /// </summary> /// <param name="fileUri">文件路径。</param> /// <param name="loadBytesCallbacks">加载数据流回调函数集。</param> /// <param name="userData">用户自定义数据。</param> public override void LoadBytes(string fileUri, LoadBytesCallbacks loadBytesCallbacks, object userData) { StartCoroutine(LoadBytesCo(fileUri, loadBytesCallbacks, userData)); }
private void LoadLuaAb() { m_LoadBytesCallbacks = new LoadBytesCallbacks(OnBytesLoadSuccess, OnBytesLoadFailure); GameEntry.Resource.LoadBytes("HotFix", m_LoadBytesCallbacks, null); }
public void LoadBytes(string abName, LoadBytesCallbacks callback, object userdata) { throw new NotImplementedException(); }
public void LoadBytes(string abName, LoadBytesCallbacks callback, object userdata) { m_ResourceManager.LoadBytes(abName, callback, userdata); }
/// <summary> /// 直接从指定文件路径读取数据流。 /// </summary> /// <param name="fileUri">文件路径。</param> /// <param name="loadBytesCallback">读取数据流回调函数。</param> public override void LoadBytes(string fileUri, LoadBytesCallbacks loadBytesCallback) { StartCoroutine(LoadBytesCo(fileUri, loadBytesCallback)); }
public override void LoadBytes(string fileUri, LoadBytesCallbacks loadBytesCallbacks, object userData) { throw new System.NotImplementedException(); }
public abstract void LoadBytes(string fileUri, LoadBytesCallbacks loadBytesCallbacks, object userData);
/// <summary> /// 直接从指定文件路径读取数据流。 /// </summary> /// <param name="fileUri">文件路径。</param> /// <param name="loadBytesCallback">读取数据流回调函数。</param> public abstract void LoadBytes(string fileUri, LoadBytesCallbacks loadBytesCallback);