private void LoadBinarySuccessCallback(string dataTableAssetName, byte[] dataTableBytes, float duration, object userData) { try { if (!m_DataTableHelper.LoadDataTable(dataTableAssetName, dataTableBytes, userData)) { throw new GameFrameworkException(Utility.Text.Format("Load data table failure in helper, asset name '{0}'.", dataTableAssetName)); } if (m_LoadDataTableSuccessEventHandler != null) { LoadDataTableSuccessEventArgs loadDataTableSuccessEventArgs = LoadDataTableSuccessEventArgs.Create(dataTableAssetName, duration, userData); m_LoadDataTableSuccessEventHandler(this, loadDataTableSuccessEventArgs); ReferencePool.Release(loadDataTableSuccessEventArgs); } } catch (Exception exception) { if (m_LoadDataTableFailureEventHandler != null) { LoadDataTableFailureEventArgs loadDataTableFailureEventArgs = LoadDataTableFailureEventArgs.Create(dataTableAssetName, exception.ToString(), userData); m_LoadDataTableFailureEventHandler(this, loadDataTableFailureEventArgs); ReferencePool.Release(loadDataTableFailureEventArgs); return; } throw; } }
private void LoadAssetOrBinaryFailureCallback(string dataTableAssetName, LoadResourceStatus status, string errorMessage, object userData) { string appendErrorMessage = Utility.Text.Format("Load data table failure, asset name '{0}', status '{1}', error message '{2}'.", dataTableAssetName, status.ToString(), errorMessage); if (m_LoadDataTableFailureEventHandler != null) { LoadDataTableFailureEventArgs loadDataTableFailureEventArgs = LoadDataTableFailureEventArgs.Create(dataTableAssetName, appendErrorMessage, userData); m_LoadDataTableFailureEventHandler(this, loadDataTableFailureEventArgs); ReferencePool.Release(loadDataTableFailureEventArgs); return; } throw new GameFrameworkException(appendErrorMessage); }
private void LoadDataTableSuccessCallback(string dataTableAssetName, object dataTableAsset, float duration, object userData) { LoadDataTableInfo loadDataTableInfo = (LoadDataTableInfo)userData; if (loadDataTableInfo == null) { throw new GameFrameworkException("Load data table info is invalid."); } try { if (!m_DataTableHelper.LoadDataTable(dataTableAsset, loadDataTableInfo.LoadType, loadDataTableInfo.UserData)) { throw new GameFrameworkException(Utility.Text.Format("Load data table failure in helper, asset name '{0}'.", dataTableAssetName)); } if (m_LoadDataTableSuccessEventHandler != null) { LoadDataTableSuccessEventArgs loadDataTableSuccessEventArgs = LoadDataTableSuccessEventArgs.Create(dataTableAssetName, loadDataTableInfo.LoadType, duration, loadDataTableInfo.UserData); m_LoadDataTableSuccessEventHandler(this, loadDataTableSuccessEventArgs); ReferencePool.Release(loadDataTableSuccessEventArgs); } } catch (Exception exception) { if (m_LoadDataTableFailureEventHandler != null) { LoadDataTableFailureEventArgs loadDataTableFailureEventArgs = LoadDataTableFailureEventArgs.Create(dataTableAssetName, loadDataTableInfo.LoadType, exception.ToString(), loadDataTableInfo.UserData); m_LoadDataTableFailureEventHandler(this, loadDataTableFailureEventArgs); ReferencePool.Release(loadDataTableFailureEventArgs); return; } throw; } finally { ReferencePool.Release(loadDataTableInfo); m_DataTableHelper.ReleaseDataTableAsset(dataTableAsset); } }