/// <summary> /// 创建加载资源代理辅助器异步将资源文件转换为加载对象完成事件。 /// </summary> /// <param name="resource">资源对象。</param> /// <returns>创建的加载资源代理辅助器异步将资源文件转换为加载对象完成事件。</returns> public static InnerLoadResourceAgentHelperReadFileCompleteEventArgs Create(object resource) { InnerLoadResourceAgentHelperReadFileCompleteEventArgs loadResourceAgentHelperReadFileCompleteEventArgs = ReferencePool.Acquire <InnerLoadResourceAgentHelperReadFileCompleteEventArgs>(); loadResourceAgentHelperReadFileCompleteEventArgs.Resource = resource; return(loadResourceAgentHelperReadFileCompleteEventArgs); }
private void UpdateFileAssetBundleCreateRequest() { if (m_FileAssetBundleCreateRequest != null) { if (m_FileAssetBundleCreateRequest.isDone) { AssetBundle assetBundle = m_FileAssetBundleCreateRequest.assetBundle; if (assetBundle != null) { AssetBundleCreateRequest oldFileAssetBundleCreateRequest = m_FileAssetBundleCreateRequest; InnerLoadResourceAgentHelperReadFileCompleteEventArgs loadResourceAgentHelperReadFileCompleteEventArgs = InnerLoadResourceAgentHelperReadFileCompleteEventArgs.Create(assetBundle); m_LoadResourceAgentHelperReadFileCompleteEventHandler(this, loadResourceAgentHelperReadFileCompleteEventArgs); ReferencePool.Release(loadResourceAgentHelperReadFileCompleteEventArgs); if (m_FileAssetBundleCreateRequest == oldFileAssetBundleCreateRequest) { m_FileAssetBundleCreateRequest = null; m_LastProgress = 0f; } } else { InnerLoadResourceAgentHelperErrorEventArgs loadResourceAgentHelperErrorEventArgs = InnerLoadResourceAgentHelperErrorEventArgs.Create(LoadResourceStatus.NotExist, Utility.Text.Format("Can not load asset bundle from file '{0}' which is not a valid asset bundle.", m_FileName == null ? m_FileFullPath : Utility.Text.Format("{0} | {1}", m_FileFullPath, m_FileName))); m_LoadResourceAgentHelperErrorEventHandler(this, loadResourceAgentHelperErrorEventArgs); ReferencePool.Release(loadResourceAgentHelperErrorEventArgs); } } else if (m_FileAssetBundleCreateRequest.progress != m_LastProgress) { m_LastProgress = m_FileAssetBundleCreateRequest.progress; InnerLoadResourceAgentHelperUpdateEventArgs loadResourceAgentHelperUpdateEventArgs = InnerLoadResourceAgentHelperUpdateEventArgs.Create(LoadResourceProgress.LoadResource, m_FileAssetBundleCreateRequest.progress); m_LoadResourceAgentHelperUpdateEventHandler(this, loadResourceAgentHelperUpdateEventArgs); ReferencePool.Release(loadResourceAgentHelperUpdateEventArgs); } } }