private static void OnOpenUIFormFailure(object sender, GameEventArgs e) { OpenUIFormFailureEventArgs ne = (OpenUIFormFailureEventArgs)e; if (s_UIFormSerialId.HasValue && ne.SerialId == s_UIFormSerialId.Value) { s_UIFormTcs.SetException(new GameFrameworkException(ne.ErrorMessage)); s_UIFormTcs = null; } }
private static void OnOpenUIFormFailure(object sender, GameEventArgs e) { OpenUIFormFailureEventArgs ne = (OpenUIFormFailureEventArgs)e; if (m_UIFormSerialId.HasValue && ne.SerialId == m_UIFormSerialId.Value) { GameEntry.Event.Unsubscribe(OpenUIFormSuccessEventArgs.EventId, OnOpenUIFormSuccess); GameEntry.Event.Unsubscribe(OpenUIFormFailureEventArgs.EventId, OnOpenUIFormFailure); m_UIFormTcs.SetException(new GameFrameworkException(ne.ErrorMessage)); } }
/// <summary> /// 创建打开界面失败事件。 /// </summary> /// <param name="serialId">界面序列编号。</param> /// <param name="uiFormAssetName">界面资源名称。</param> /// <param name="uiGroupName">界面组名称。</param> /// <param name="pauseCoveredUIForm">是否暂停被覆盖的界面。</param> /// <param name="errorMessage">错误信息。</param> /// <param name="userData">用户自定义数据。</param> /// <returns>创建的打开界面失败事件。</returns> public static OpenUIFormFailureEventArgs Create(int serialId, string uiFormAssetName, string uiGroupName, bool pauseCoveredUIForm, string errorMessage, object userData) { OpenUIFormFailureEventArgs openUIFormFailureEventArgs = ReferencePool.Acquire <OpenUIFormFailureEventArgs>(); openUIFormFailureEventArgs.SerialId = serialId; openUIFormFailureEventArgs.UIFormAssetName = uiFormAssetName; openUIFormFailureEventArgs.UIGroupName = uiGroupName; openUIFormFailureEventArgs.PauseCoveredUIForm = pauseCoveredUIForm; openUIFormFailureEventArgs.ErrorMessage = errorMessage; openUIFormFailureEventArgs.UserData = userData; return(openUIFormFailureEventArgs); }
void OnOpenUIFail(object sender, GameEventArgs args) { OpenUIFormFailureEventArgs ne = args as OpenUIFormFailureEventArgs; Log.Debug(ne); Log.Debug(ne.UIFormAssetName); Log.Debug(ne.ErrorMessage); Log.Debug(ne.UserData); Dictionary <string, object> param = ne.UserData as Dictionary <string, object>; foreach (var kv in param) { Log.Debug("{0} {1}", kv.Key, kv.Value); } }