/// <summary> /// 执行异步加载 /// </summary> /// <param name="asyncSystem"></param> public IEnumerator RunAsync(IRunAsyncSystem asyncSystem) { var request = Resources.LoadAsync(m_assetName); yield return(request); if (!request.isDone) { m_state = ResState.Failed; asyncSystem.OnRunAsyncComplete(); Notification(false); yield break; } m_asset = request.asset; if (m_asset == null) { m_state = ResState.Failed; asyncSystem.OnRunAsyncComplete(); Notification(false); yield break; } m_state = ResState.Ready; asyncSystem.OnRunAsyncComplete(); Notification(true); }
/// <summary> /// 执行异步加载 /// </summary> /// <param name="asyncSystem"></param> public IEnumerator RunAsync(IRunAsyncSystem asyncSystem) { var url = AssetBundlePath.GetFullPath(m_bundleName); var request = AssetBundle.LoadFromFileAsync(url); m_request = request; yield return(request); m_request = null; if (!request.isDone) { m_state = ResState.Failed; asyncSystem.OnRunAsyncComplete(); Notification(false); yield break; } m_assetBundle = request.assetBundle; if (m_assetBundle == null) { m_state = ResState.Failed; asyncSystem.OnRunAsyncComplete(); Notification(false); yield break; } m_state = ResState.Ready; asyncSystem.OnRunAsyncComplete(); Notification(true); }