private void LoadDictionarySuccessCallback(string dictionaryAssetName, object dictionaryAsset, float duration, object userData) { try { if (!m_LocalizationHelper.LoadDictionary(dictionaryAsset, userData)) { throw new GameFrameworkException(string.Format("Load dictionary failure in helper, asset name '{0}'.", dictionaryAssetName)); } } catch (Exception exception) { if (m_LoadDictionaryFailureEventHandler != null) { m_LoadDictionaryFailureEventHandler(this, new LoadDictionaryFailureEventArgs(dictionaryAssetName, exception.ToString(), userData)); return; } throw; } finally { m_LocalizationHelper.ReleaseDictionaryAsset(dictionaryAsset); } if (m_LoadDictionarySuccessEventHandler != null) { m_LoadDictionarySuccessEventHandler(this, new LoadDictionarySuccessEventArgs(dictionaryAssetName, duration, userData)); } }
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); } }