private void LoadAssetSuccessCallback(string dictionaryAssetName, object dictionaryAsset, float duration, object userData) { LoadDictionaryInfo loadDictionaryInfo = (LoadDictionaryInfo)userData; if (loadDictionaryInfo == null) { throw new GXException("Load dictionary info is invalid."); } try { if (!m_LocalizationHelper.LoadDictionary(dictionaryAsset, loadDictionaryInfo.LoadType, loadDictionaryInfo.UserData)) { throw new GXException(Utility.Text.Format("Load dictionary failure in helper, asset name '{0}'.", dictionaryAssetName)); } if (m_LoadDictionarySuccessEventHandler != null) { LoadDictionarySuccessEventArgs loadDictionarySuccessEventArgs = LoadDictionarySuccessEventArgs.Create(dictionaryAssetName, loadDictionaryInfo.LoadType, duration, loadDictionaryInfo.UserData); m_LoadDictionarySuccessEventHandler(this, loadDictionarySuccessEventArgs); ReferencePool.Release(loadDictionarySuccessEventArgs); } } catch (Exception exception) { if (m_LoadDictionaryFailureEventHandler != null) { LoadDictionaryFailureEventArgs loadDictionaryFailureEventArgs = LoadDictionaryFailureEventArgs.Create(dictionaryAssetName, loadDictionaryInfo.LoadType, exception.ToString(), loadDictionaryInfo.UserData); m_LoadDictionaryFailureEventHandler(this, loadDictionaryFailureEventArgs); ReferencePool.Release(loadDictionaryFailureEventArgs); return; } throw; } finally { ReferencePool.Release(loadDictionaryInfo); m_LocalizationHelper.ReleaseDictionaryAsset(dictionaryAsset); } }
private void LoadAssetOrBinaryFailureCallback(string dictionaryAssetName, LoadResourceStatus status, string errorMessage, object userData) { LoadDictionaryInfo loadDictionaryInfo = (LoadDictionaryInfo)userData; if (loadDictionaryInfo == null) { throw new GXException("Load dictionary info is invalid."); } string appendErrorMessage = Utility.Text.Format("Load dictionary failure, asset name '{0}', status '{1}', error message '{2}'.", dictionaryAssetName, status.ToString(), errorMessage); if (m_LoadDictionaryFailureEventHandler != null) { LoadDictionaryFailureEventArgs loadDictionaryFailureEventArgs = LoadDictionaryFailureEventArgs.Create(dictionaryAssetName, loadDictionaryInfo.LoadType, appendErrorMessage, loadDictionaryInfo.UserData); m_LoadDictionaryFailureEventHandler(this, loadDictionaryFailureEventArgs); ReferencePool.Release(loadDictionaryFailureEventArgs); return; } throw new GXException(appendErrorMessage); }