From 5f43940c66376b8e2b764f71ccc3d81c13027582 Mon Sep 17 00:00:00 2001 From: yeziuku Date: Sun, 9 Mar 2025 16:31:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=20Failed/Succeed=20=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FunGame.Desktop/Controller/LoginController.cs | 5 +- .../Controller/RegisterController.cs | 11 +- .../Controller/RunTimeController.cs | 3 +- FunGame.Desktop/Library/Base/BaseLogin.cs | 12 - FunGame.Desktop/Library/Base/BaseMain.cs | 156 ------------ FunGame.Desktop/Library/Base/BaseReg.cs | 12 - FunGame.Desktop/UI/Login/Login.cs | 25 +- FunGame.Desktop/UI/Main/Main.cs | 241 ++++++------------ FunGame.Desktop/UI/Register/Register.cs | 15 +- 9 files changed, 99 insertions(+), 381 deletions(-) diff --git a/FunGame.Desktop/Controller/LoginController.cs b/FunGame.Desktop/Controller/LoginController.cs index 831ada2..eb38d11 100644 --- a/FunGame.Desktop/Controller/LoginController.cs +++ b/FunGame.Desktop/Controller/LoginController.cs @@ -171,16 +171,15 @@ namespace Milimoe.FunGame.Desktop.Controller { try { + LoginEventArgs.Success = result; if (UIForm.GetType() == typeof(Login)) { Login login = (Login)UIForm; - if (result) login.OnSucceedLoginEvent(UIForm, LoginEventArgs); - else login.OnFailedLoginEvent(UIForm, LoginEventArgs); login.OnAfterLoginEvent(UIForm, LoginEventArgs); } else if (UIForm.GetType() == typeof(Main)) { - if (result) ((Main)UIForm).OnSucceedLoginEvent(UIForm, LoginEventArgs); + if (result) ((Main)UIForm).OnAfterLoginEvent(UIForm, LoginEventArgs); } } catch (Exception e) diff --git a/FunGame.Desktop/Controller/RegisterController.cs b/FunGame.Desktop/Controller/RegisterController.cs index 2efc5db..d1e706f 100644 --- a/FunGame.Desktop/Controller/RegisterController.cs +++ b/FunGame.Desktop/Controller/RegisterController.cs @@ -79,16 +79,7 @@ namespace Milimoe.FunGame.Desktop.Controller } request.Dispose(); - if (result) - { - Register.OnSucceedRegEvent(Register, RegEventArgs); - RunTime.PluginLoader?.OnSucceedRegEvent(Register, RegEventArgs); - } - else - { - Register.OnFailedRegEvent(Register, RegEventArgs); - RunTime.PluginLoader?.OnFailedRegEvent(Register, RegEventArgs); - } + RegEventArgs.Success = result; Register.OnAfterRegEvent(Register, RegEventArgs); RunTime.PluginLoader?.OnAfterRegEvent(Register, RegEventArgs); } diff --git a/FunGame.Desktop/Controller/RunTimeController.cs b/FunGame.Desktop/Controller/RunTimeController.cs index 4670241..f2c346a 100644 --- a/FunGame.Desktop/Controller/RunTimeController.cs +++ b/FunGame.Desktop/Controller/RunTimeController.cs @@ -83,7 +83,8 @@ namespace Milimoe.FunGame.Desktop.Controller Main.GetMessage(e.GetErrorInfo(), TimeType.None); Main.UpdateUI(MainInvokeType.Disconnected); ConnectEventArgs args = new(RunTime.Session.Server_Address, RunTime.Session.Server_Port, ConnectResult.ConnectFailed); - Main.OnFailedConnectEvent(Main, args); + args.Success = false; + Main.OnAfterConnectEvent(Main, args); Close_Socket(); } diff --git a/FunGame.Desktop/Library/Base/BaseLogin.cs b/FunGame.Desktop/Library/Base/BaseLogin.cs index 7fec299..36a5792 100644 --- a/FunGame.Desktop/Library/Base/BaseLogin.cs +++ b/FunGame.Desktop/Library/Base/BaseLogin.cs @@ -8,8 +8,6 @@ namespace Milimoe.FunGame.Desktop.Library.Base { public event ILoginEventHandler.BeforeEventHandler? BeforeLogin; public event ILoginEventHandler.AfterEventHandler? AfterLogin; - public event ILoginEventHandler.SucceedEventHandler? SucceedLogin; - public event ILoginEventHandler.FailedEventHandler? FailedLogin; public void OnAfterLoginEvent(object sender, LoginEventArgs e) { @@ -20,15 +18,5 @@ namespace Milimoe.FunGame.Desktop.Library.Base { BeforeLogin?.Invoke(sender, e); } - - public void OnFailedLoginEvent(object sender, LoginEventArgs e) - { - FailedLogin?.Invoke(sender, e); - } - - public void OnSucceedLoginEvent(object sender, LoginEventArgs e) - { - SucceedLogin?.Invoke(sender, e); - } } } diff --git a/FunGame.Desktop/Library/Base/BaseMain.cs b/FunGame.Desktop/Library/Base/BaseMain.cs index e84eaa9..15a316e 100644 --- a/FunGame.Desktop/Library/Base/BaseMain.cs +++ b/FunGame.Desktop/Library/Base/BaseMain.cs @@ -9,8 +9,6 @@ namespace Milimoe.FunGame.Desktop.Library.Base { public event IConnectEventHandler.BeforeEventHandler? BeforeConnect; public event IConnectEventHandler.AfterEventHandler? AfterConnect; - public event IConnectEventHandler.SucceedEventHandler? SucceedConnect; - public event IConnectEventHandler.FailedEventHandler? FailedConnect; public void OnAfterConnectEvent(object sender, ConnectEventArgs e) { @@ -22,20 +20,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base BeforeConnect?.Invoke(sender, e); } - public void OnSucceedConnectEvent(object sender, ConnectEventArgs e) - { - SucceedConnect?.Invoke(sender, e); - } - - public void OnFailedConnectEvent(object sender, ConnectEventArgs e) - { - FailedConnect?.Invoke(sender, e); - } - public event IEventHandler.BeforeEventHandler? BeforeDisconnect; public event IEventHandler.AfterEventHandler? AfterDisconnect; - public event IEventHandler.SucceedEventHandler? SucceedDisconnect; - public event IEventHandler.FailedEventHandler? FailedDisconnect; public void OnAfterDisconnectEvent(object sender, GeneralEventArgs e) { @@ -47,20 +33,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base BeforeDisconnect?.Invoke(sender, e); } - public void OnFailedDisconnectEvent(object sender, GeneralEventArgs e) - { - FailedDisconnect?.Invoke(sender, e); - } - - public void OnSucceedDisconnectEvent(object sender, GeneralEventArgs e) - { - SucceedDisconnect?.Invoke(sender, e); - } - public event ILoginEventHandler.BeforeEventHandler? BeforeLogin; public event ILoginEventHandler.AfterEventHandler? AfterLogin; - public event ILoginEventHandler.SucceedEventHandler? SucceedLogin; - public event ILoginEventHandler.FailedEventHandler? FailedLogin; public void OnBeforeLoginEvent(object sender, LoginEventArgs e) { @@ -72,20 +46,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base AfterLogin?.Invoke(sender, e); } - public void OnSucceedLoginEvent(object sender, LoginEventArgs e) - { - SucceedLogin?.Invoke(sender, e); - } - - public void OnFailedLoginEvent(object sender, LoginEventArgs e) - { - FailedLogin?.Invoke(sender, e); - } - public event IEventHandler.BeforeEventHandler? BeforeLogout; public event IEventHandler.AfterEventHandler? AfterLogout; - public event IEventHandler.SucceedEventHandler? SucceedLogout; - public event IEventHandler.FailedEventHandler? FailedLogout; public void OnAfterLogoutEvent(object sender, GeneralEventArgs e) { @@ -97,20 +59,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base BeforeLogout?.Invoke(sender, e); } - public void OnFailedLogoutEvent(object sender, GeneralEventArgs e) - { - FailedLogout?.Invoke(sender, e); - } - - public void OnSucceedLogoutEvent(object sender, GeneralEventArgs e) - { - SucceedLogout?.Invoke(sender, e); - } - public event IIntoRoomEventHandler.BeforeEventHandler? BeforeIntoRoom; public event IIntoRoomEventHandler.AfterEventHandler? AfterIntoRoom; - public event IIntoRoomEventHandler.SucceedEventHandler? SucceedIntoRoom; - public event IIntoRoomEventHandler.FailedEventHandler? FailedIntoRoom; public void OnBeforeIntoRoomEvent(object sender, RoomEventArgs e) { @@ -122,20 +72,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base AfterIntoRoom?.Invoke(sender, e); } - public void OnSucceedIntoRoomEvent(object sender, RoomEventArgs e) - { - SucceedIntoRoom?.Invoke(sender, e); - } - - public void OnFailedIntoRoomEvent(object sender, RoomEventArgs e) - { - FailedIntoRoom?.Invoke(sender, e); - } - public event ISendTalkEventHandler.BeforeEventHandler? BeforeSendTalk; public event ISendTalkEventHandler.AfterEventHandler? AfterSendTalk; - public event ISendTalkEventHandler.SucceedEventHandler? SucceedSendTalk; - public event ISendTalkEventHandler.FailedEventHandler? FailedSendTalk; public void OnBeforeSendTalkEvent(object sender, SendTalkEventArgs e) { @@ -147,20 +85,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base AfterSendTalk?.Invoke(sender, e); } - public void OnSucceedSendTalkEvent(object sender, SendTalkEventArgs e) - { - SucceedSendTalk?.Invoke(sender, e); - } - - public void OnFailedSendTalkEvent(object sender, SendTalkEventArgs e) - { - FailedSendTalk?.Invoke(sender, e); - } - public event ICreateRoomEventHandler.BeforeEventHandler? BeforeCreateRoom; public event ICreateRoomEventHandler.AfterEventHandler? AfterCreateRoom; - public event ICreateRoomEventHandler.SucceedEventHandler? SucceedCreateRoom; - public event ICreateRoomEventHandler.FailedEventHandler? FailedCreateRoom; public void OnBeforeCreateRoomEvent(object sender, RoomEventArgs e) { @@ -172,20 +98,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base AfterCreateRoom?.Invoke(sender, e); } - public void OnSucceedCreateRoomEvent(object sender, RoomEventArgs e) - { - SucceedCreateRoom?.Invoke(sender, e); - } - - public void OnFailedCreateRoomEvent(object sender, RoomEventArgs e) - { - FailedCreateRoom?.Invoke(sender, e); - } - public event IQuitRoomEventHandler.BeforeEventHandler? BeforeQuitRoom; public event IQuitRoomEventHandler.AfterEventHandler? AfterQuitRoom; - public event IQuitRoomEventHandler.SucceedEventHandler? SucceedQuitRoom; - public event IQuitRoomEventHandler.FailedEventHandler? FailedQuitRoom; public void OnBeforeQuitRoomEvent(object sender, RoomEventArgs e) { @@ -197,20 +111,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base AfterQuitRoom?.Invoke(sender, e); } - public void OnSucceedQuitRoomEvent(object sender, RoomEventArgs e) - { - SucceedQuitRoom?.Invoke(sender, e); - } - - public void OnFailedQuitRoomEvent(object sender, RoomEventArgs e) - { - FailedQuitRoom?.Invoke(sender, e); - } - public event IEventHandler.BeforeEventHandler? BeforeStartMatch; public event IEventHandler.AfterEventHandler? AfterStartMatch; - public event IEventHandler.SucceedEventHandler? SucceedStartMatch; - public event IEventHandler.FailedEventHandler? FailedStartMatch; public void OnBeforeStartMatchEvent(object sender, GeneralEventArgs e) { @@ -222,20 +124,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base AfterStartMatch?.Invoke(sender, e); } - public void OnSucceedStartMatchEvent(object sender, GeneralEventArgs e) - { - SucceedStartMatch?.Invoke(sender, e); - } - - public void OnFailedStartMatchEvent(object sender, GeneralEventArgs e) - { - FailedStartMatch?.Invoke(sender, e); - } - public event IEventHandler.BeforeEventHandler? BeforeStartGame; public event IEventHandler.AfterEventHandler? AfterStartGame; - public event IEventHandler.SucceedEventHandler? SucceedStartGame; - public event IEventHandler.FailedEventHandler? FailedStartGame; public void OnBeforeStartGameEvent(object sender, GeneralEventArgs e) { @@ -247,20 +137,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base AfterStartGame?.Invoke(sender, e); } - public void OnSucceedStartGameEvent(object sender, GeneralEventArgs e) - { - SucceedStartGame?.Invoke(sender, e); - } - - public void OnFailedStartGameEvent(object sender, GeneralEventArgs e) - { - FailedStartGame?.Invoke(sender, e); - } - public event IEventHandler.BeforeEventHandler? BeforeOpenInventory; public event IEventHandler.AfterEventHandler? AfterOpenInventory; - public event IEventHandler.SucceedEventHandler? SucceedOpenInventory; - public event IEventHandler.FailedEventHandler? FailedOpenInventory; public void OnBeforeOpenInventoryEvent(object sender, GeneralEventArgs e) { @@ -272,20 +150,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base AfterOpenInventory?.Invoke(sender, e); } - public void OnSucceedOpenInventoryEvent(object sender, GeneralEventArgs e) - { - SucceedOpenInventory?.Invoke(sender, e); - } - - public void OnFailedOpenInventoryEvent(object sender, GeneralEventArgs e) - { - FailedOpenInventory?.Invoke(sender, e); - } - public event IEventHandler.BeforeEventHandler? BeforeOpenStore; public event IEventHandler.AfterEventHandler? AfterOpenStore; - public event IEventHandler.SucceedEventHandler? SucceedOpenStore; - public event IEventHandler.FailedEventHandler? FailedOpenStore; public void OnBeforeOpenStoreEvent(object sender, GeneralEventArgs e) { @@ -297,20 +163,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base AfterOpenStore?.Invoke(sender, e); } - public void OnSucceedOpenStoreEvent(object sender, GeneralEventArgs e) - { - SucceedOpenStore?.Invoke(sender, e); - } - - public void OnFailedOpenStoreEvent(object sender, GeneralEventArgs e) - { - FailedOpenStore?.Invoke(sender, e); - } - public event IEventHandler.BeforeEventHandler? BeforeEndGame; public event IEventHandler.AfterEventHandler? AfterEndGame; - public event IEventHandler.SucceedEventHandler? SucceedEndGame; - public event IEventHandler.FailedEventHandler? FailedEndGame; public void OnBeforeEndGameEvent(object sender, GeneralEventArgs e) { @@ -321,15 +175,5 @@ namespace Milimoe.FunGame.Desktop.Library.Base { AfterEndGame?.Invoke(sender, e); } - - public void OnSucceedEndGameEvent(object sender, GeneralEventArgs e) - { - SucceedEndGame?.Invoke(sender, e); - } - - public void OnFailedEndGameEvent(object sender, GeneralEventArgs e) - { - FailedEndGame?.Invoke(sender, e); - } } } diff --git a/FunGame.Desktop/Library/Base/BaseReg.cs b/FunGame.Desktop/Library/Base/BaseReg.cs index b1dcd6e..36840fd 100644 --- a/FunGame.Desktop/Library/Base/BaseReg.cs +++ b/FunGame.Desktop/Library/Base/BaseReg.cs @@ -8,8 +8,6 @@ namespace Milimoe.FunGame.Desktop.Library.Base { public event IRegEventHandler.BeforeEventHandler? BeforeReg; public event IRegEventHandler.AfterEventHandler? AfterReg; - public event IRegEventHandler.SucceedEventHandler? SucceedReg; - public event IRegEventHandler.FailedEventHandler? FailedReg; public void OnAfterRegEvent(object sender, RegisterEventArgs e) { @@ -20,15 +18,5 @@ namespace Milimoe.FunGame.Desktop.Library.Base { BeforeReg?.Invoke(sender, e); } - - public void OnFailedRegEvent(object sender, RegisterEventArgs e) - { - FailedReg?.Invoke(sender, e); - } - - public void OnSucceedRegEvent(object sender, RegisterEventArgs e) - { - SucceedReg?.Invoke(sender, e); - } } } diff --git a/FunGame.Desktop/UI/Login/Login.cs b/FunGame.Desktop/UI/Login/Login.cs index 32f5a6a..95eb8ec 100644 --- a/FunGame.Desktop/UI/Login/Login.cs +++ b/FunGame.Desktop/UI/Login/Login.cs @@ -23,8 +23,6 @@ namespace Milimoe.FunGame.Desktop.UI base.BindEvent(); BeforeLogin += BeforeLoginEvent; AfterLogin += AfterLoginEvent; - FailedLogin += FailedLoginEvent; - SucceedLogin += SucceedLoginEvent; } private async Task Login_HandlerAsync(string username, string password) @@ -80,11 +78,14 @@ namespace Milimoe.FunGame.Desktop.UI UsernameText.Focus(); } - private void FailedLoginEvent(object sender, LoginEventArgs e) + private void AfterLoginEvent(object sender, LoginEventArgs e) { - UpdateFailedLoginUI(); - RunTime.Main?.OnFailedLoginEvent(sender, e); - RunTime.PluginLoader?.OnFailedLoginEvent(sender, e); + if (!e.Success) + { + UpdateFailedLoginUI(); + } + RunTime.Main?.OnAfterLoginEvent(sender, e); + RunTime.PluginLoader?.OnAfterLoginEvent(sender, e); } private void UpdateFailedLoginUI() @@ -95,23 +96,11 @@ namespace Milimoe.FunGame.Desktop.UI }); } - private void SucceedLoginEvent(object sender, LoginEventArgs e) - { - RunTime.Main?.OnSucceedLoginEvent(sender, e); - RunTime.PluginLoader?.OnSucceedLoginEvent(sender, e); - } - private void BeforeLoginEvent(object sender, LoginEventArgs e) { RunTime.Main?.OnBeforeLoginEvent(sender, e); RunTime.PluginLoader?.OnBeforeLoginEvent(sender, e); if (e.Cancel) return; } - - private void AfterLoginEvent(object sender, LoginEventArgs e) - { - RunTime.Main?.OnAfterLoginEvent(sender, e); - RunTime.PluginLoader?.OnAfterLoginEvent(sender, e); - } } } diff --git a/FunGame.Desktop/UI/Main/Main.cs b/FunGame.Desktop/UI/Main/Main.cs index 6201fd9..cdc6a2e 100644 --- a/FunGame.Desktop/UI/Main/Main.cs +++ b/FunGame.Desktop/UI/Main/Main.cs @@ -93,13 +93,10 @@ namespace Milimoe.FunGame.Desktop.UI { base.BindEvent(); Disposed += Main_Disposed; - FailedConnect += FailedConnectEvent; - SucceedConnect += SucceedConnectEvent; - SucceedLogin += SucceedLoginEvent; - SucceedIntoRoom += SucceedIntoRoomEvent; - FailedIntoRoom += FailedIntoRoomEvent; - SucceedCreateRoom += SucceedCreateRoomEvent; - FailedCreateRoom += FailedCreateRoomEvent; + AfterConnect += AfterConnectEvent; + AfterLogin += AfterLoginEvent; + AfterIntoRoom += AfterIntoRoomEvent; + AfterCreateRoom += AfterCreateRoomEvent; } #endregion @@ -531,13 +528,11 @@ namespace Milimoe.FunGame.Desktop.UI Visible = true; _InGame = false; SetButtonEnabled(true, ClientState.InRoom); - OnSucceedEndGameEvent(this, e); - RunTime.PluginLoader?.OnSucceedEndGameEvent(this, e); + e.Success = true; } else { - OnFailedEndGameEvent(this, e); - RunTime.PluginLoader?.OnFailedEndGameEvent(this, e); + e.Success = false; } OnAfterEndGameEvent(this, e); RunTime.PluginLoader?.OnAfterEndGameEvent(this, e); @@ -1478,79 +1473,76 @@ namespace Milimoe.FunGame.Desktop.UI } /// - /// 连接服务器失败后触发事件 + /// 连接服务器后触发事件 /// /// /// /// - public void FailedConnectEvent(object sender, GeneralEventArgs e) + public void AfterConnectEvent(object sender, GeneralEventArgs e) { - // 自动重连 - if (!Config.FunGame_isConnected) + if (e.Success) { - if (Config.FunGame_isAutoRetry && CurrentRetryTimes <= MaxRetryTimes) + // 创建MainController + MainController = new MainController(this); + if (MainController != null && Config.FunGame_isAutoLogin && Config.FunGame_AutoLoginUser != "" && Config.FunGame_AutoLoginPassword != "" && Config.FunGame_AutoLoginKey != "") { - Task.Run(() => - { - Thread.Sleep(5000); - if (!Config.FunGame_isConnected && Config.FunGame_isAutoRetry) InvokeController_Connect(); // 再次判断是否开启自动重连 - }); - GetMessage("连接服务器失败,5秒后自动尝试重连。"); + // 自动登录 + RunTime.Controller?.AutoLogin(Config.FunGame_AutoLoginUser, Config.FunGame_AutoLoginPassword, Config.FunGame_AutoLoginKey); + } + } + else + { + + // 自动重连 + if (!Config.FunGame_isConnected) + { + if (Config.FunGame_isAutoRetry && CurrentRetryTimes <= MaxRetryTimes) + { + Task.Run(() => + { + Thread.Sleep(5000); + if (!Config.FunGame_isConnected && Config.FunGame_isAutoRetry) InvokeController_Connect(); // 再次判断是否开启自动重连 + }); + GetMessage("连接服务器失败,5秒后自动尝试重连。"); + } + else GetMessage("无法连接至服务器,请稍后再试。"); } - else GetMessage("无法连接至服务器,请稍后再试。"); } } /// - /// 连接服务器成功后触发事件 + /// 登录后触发事件 /// /// /// /// - public void SucceedConnectEvent(object sender, GeneralEventArgs e) + private void AfterLoginEvent(object sender, GeneralEventArgs e) { - // 创建MainController - MainController = new MainController(this); - if (MainController != null && Config.FunGame_isAutoLogin && Config.FunGame_AutoLoginUser != "" && Config.FunGame_AutoLoginPassword != "" && Config.FunGame_AutoLoginKey != "") + if (e.Success) { - // 自动登录 - RunTime.Controller?.AutoLogin(Config.FunGame_AutoLoginUser, Config.FunGame_AutoLoginPassword, Config.FunGame_AutoLoginKey); + TaskUtility.NewTask(SucceedLoginEvent_Handler); } } /// - /// 登录成功后触发事件 + /// 进入房间后触发事件 /// /// /// - /// - private void SucceedLoginEvent(object sender, GeneralEventArgs e) + private void AfterIntoRoomEvent(object sender, RoomEventArgs e) { - TaskUtility.NewTask(SucceedLoginEvent_Handler); - } - - /// - /// 进入房间失败后触发事件 - /// - /// - /// - private void FailedIntoRoomEvent(object sender, RoomEventArgs e) - { - ShowMessage(ShowMessageType.Warning, "加入房间失败!"); - } - - /// - /// 成功进入房间后触发事件 - /// - /// - /// - private void SucceedIntoRoomEvent(object sender, RoomEventArgs e) - { - InvokeUpdateUI(() => + if (e.Success) { - SetRoomid(e.Room); - InRoom(); - }); + InvokeUpdateUI(() => + { + SetRoomid(e.Room); + InRoom(); + }); + } + else + { + ShowMessage(ShowMessageType.Warning, "加入房间失败!"); + } } /// @@ -1558,24 +1550,21 @@ namespace Milimoe.FunGame.Desktop.UI /// /// /// - private void FailedCreateRoomEvent(object sender, RoomEventArgs e) + private void AfterCreateRoomEvent(object sender, RoomEventArgs e) { - ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间失败!", "创建失败"); - } - - /// - /// 成功创建房间后触发事件 - /// - /// - /// - private void SucceedCreateRoomEvent(object sender, RoomEventArgs e) - { - InvokeUpdateUI(() => + if (e.Success) { - WritelnGameInfo(DateTimeUtility.GetNowShortTime() + " 创建" + e.RoomTypeString + "房间"); - WritelnGameInfo(">> 创建" + e.RoomTypeString + "房间成功!房间号: " + e.RoomID); - ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间成功!\n房间号是 -> [ " + e.RoomID + " ]", "创建成功"); - }); + InvokeUpdateUI(() => + { + WritelnGameInfo(DateTimeUtility.GetNowShortTime() + " 创建" + e.RoomTypeString + "房间"); + WritelnGameInfo(">> 创建" + e.RoomTypeString + "房间成功!房间号: " + e.RoomID); + ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间成功!\n房间号是 -> [ " + e.RoomID + " ]", "创建成功"); + }); + } + else + { + ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间失败!", "创建失败"); + } } #endregion @@ -1822,16 +1811,7 @@ namespace Milimoe.FunGame.Desktop.UI EventArgs.ConnectResult = result; }).OnCompleted(() => { - if (result == ConnectResult.Success) - { - OnSucceedConnectEvent(this, EventArgs); - RunTime.PluginLoader?.OnSucceedConnectEvent(this, EventArgs); - } - else - { - OnFailedConnectEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedConnectEvent(this, EventArgs); - } + EventArgs.Success = result == ConnectResult.Success; OnAfterConnectEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterConnectEvent(this, EventArgs); }).OnError(e => @@ -1840,8 +1820,7 @@ namespace Milimoe.FunGame.Desktop.UI GetMessage(e.InnerException?.ToString() ?? e.ToString(), TimeType.None); UpdateUI(MainInvokeType.SetRed); Config.FunGame_isRetrying = false; - OnFailedConnectEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedConnectEvent(this, EventArgs); + EventArgs.Success = false; OnAfterConnectEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterConnectEvent(this, EventArgs); }); @@ -1870,23 +1849,13 @@ namespace Milimoe.FunGame.Desktop.UI result = RunTime.Controller?.Disconnect() ?? false; }).OnCompleted(() => { - if (result) - { - OnSucceedDisconnectEvent(this, EventArgs); - RunTime.PluginLoader?.OnSucceedDisconnectEvent(this, EventArgs); - } - else - { - OnFailedDisconnectEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedDisconnectEvent(this, EventArgs); - } + EventArgs.Success = result; OnAfterDisconnectEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterDisconnectEvent(this, EventArgs); }).OnError(e => { GetMessage(e.GetErrorInfo(), TimeType.None); - OnFailedDisconnectEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedDisconnectEvent(this, EventArgs); + EventArgs.Success = false; OnAfterDisconnectEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterDisconnectEvent(this, EventArgs); }); @@ -1910,24 +1879,14 @@ namespace Milimoe.FunGame.Desktop.UI result = MainController is not null && await MainController.ChatAsync(msg); - if (result) - { - OnSucceedSendTalkEvent(this, EventArgs); - RunTime.PluginLoader?.OnSucceedSendTalkEvent(this, EventArgs); - } - else - { - OnFailedSendTalkEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedSendTalkEvent(this, EventArgs); - } + EventArgs.Success = result; OnAfterSendTalkEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterSendTalkEvent(this, EventArgs); } catch (Exception e) { GetMessage(e.GetErrorInfo(), TimeType.None); - OnFailedSendTalkEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedSendTalkEvent(this, EventArgs); + EventArgs.Success = false; OnAfterSendTalkEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterSendTalkEvent(this, EventArgs); } @@ -1955,16 +1914,7 @@ namespace Milimoe.FunGame.Desktop.UI if (room.Roomid != "-1") { - if (result) - { - OnSucceedIntoRoomEvent(this, EventArgs); - RunTime.PluginLoader?.OnSucceedIntoRoomEvent(this, EventArgs); - } - else - { - OnFailedIntoRoomEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedIntoRoomEvent(this, EventArgs); - } + EventArgs.Success = result; OnAfterIntoRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterIntoRoomEvent(this, EventArgs); } @@ -1972,8 +1922,7 @@ namespace Milimoe.FunGame.Desktop.UI catch (Exception e) { GetMessage(e.GetErrorInfo(), TimeType.None); - OnFailedIntoRoomEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedIntoRoomEvent(this, EventArgs); + EventArgs.Success = false; OnAfterIntoRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterIntoRoomEvent(this, EventArgs); } @@ -2002,22 +1951,15 @@ namespace Milimoe.FunGame.Desktop.UI if (room.Roomid != "-1") { EventArgs = new(room); - OnSucceedCreateRoomEvent(this, EventArgs); - RunTime.PluginLoader?.OnSucceedCreateRoomEvent(this, EventArgs); - } - else - { - OnFailedCreateRoomEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedCreateRoomEvent(this, EventArgs); } + EventArgs.Success = room.Roomid != "-1"; OnAfterCreateRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterCreateRoomEvent(this, EventArgs); } catch (Exception e) { GetMessage(e.GetErrorInfo(), TimeType.None); - OnFailedCreateRoomEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedCreateRoomEvent(this, EventArgs); + EventArgs.Success = false; OnAfterCreateRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterCreateRoomEvent(this, EventArgs); } @@ -2043,26 +1985,19 @@ namespace Milimoe.FunGame.Desktop.UI result = MainController is not null && await MainController.QuitRoomAsync(room.Roomid, isMaster); + EventArgs.Success = result; if (result) { - OnSucceedQuitRoomEvent(this, EventArgs); - RunTime.PluginLoader?.OnSucceedQuitRoomEvent(this, EventArgs); // 禁用和激活按钮,并切换预设快捷消息 InvokeUpdateUI(() => SetButtonEnabled(true, ClientState.Online)); } - else - { - OnFailedQuitRoomEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedQuitRoomEvent(this, EventArgs); - } OnAfterQuitRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterQuitRoomEvent(this, EventArgs); } catch (Exception e) { GetMessage(e.GetErrorInfo(), TimeType.None); - OnFailedQuitRoomEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedQuitRoomEvent(this, EventArgs); + EventArgs.Success = false; OnAfterQuitRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterQuitRoomEvent(this, EventArgs); // 禁用和激活按钮,并切换预设快捷消息 @@ -2097,24 +2032,14 @@ namespace Milimoe.FunGame.Desktop.UI result = MainController is not null && await MainController.LogOutAsync(); - if (result) - { - OnSucceedLogoutEvent(this, EventArgs); - RunTime.PluginLoader?.OnSucceedLogoutEvent(this, EventArgs); - } - else - { - OnFailedLogoutEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedLogoutEvent(this, EventArgs); - } + EventArgs.Success = result; OnAfterLogoutEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterLogoutEvent(this, EventArgs); } catch (Exception e) { GetMessage(e.GetErrorInfo(), TimeType.None); - OnFailedLogoutEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedLogoutEvent(this, EventArgs); + EventArgs.Success = false; OnAfterLogoutEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterLogoutEvent(this, EventArgs); } @@ -2141,24 +2066,14 @@ namespace Milimoe.FunGame.Desktop.UI result = MainController is not null && await MainController.StartGameAsync(roomid, isMaster); - if (result) - { - OnSucceedStartGameEvent(this, EventArgs); - RunTime.PluginLoader?.OnSucceedStartGameEvent(this, EventArgs); - } - else - { - OnFailedStartGameEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedStartGameEvent(this, EventArgs); - } + EventArgs.Success = result; OnAfterStartGameEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterStartGameEvent(this, EventArgs); } catch (Exception e) { GetMessage(e.GetErrorInfo(), TimeType.None); - OnFailedStartGameEvent(this, EventArgs); - RunTime.PluginLoader?.OnFailedStartGameEvent(this, EventArgs); + EventArgs.Success = false; OnAfterStartGameEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterStartGameEvent(this, EventArgs); } diff --git a/FunGame.Desktop/UI/Register/Register.cs b/FunGame.Desktop/UI/Register/Register.cs index 6c7e508..8d1786d 100644 --- a/FunGame.Desktop/UI/Register/Register.cs +++ b/FunGame.Desktop/UI/Register/Register.cs @@ -27,7 +27,7 @@ namespace Milimoe.FunGame.Desktop.UI protected override void BindEvent() { base.BindEvent(); - SucceedReg += SucceedRegEvent; + AfterReg += AfterRegEvent; } private async Task Reg_HandlerAsync(string username, string password, string email) @@ -48,12 +48,15 @@ namespace Milimoe.FunGame.Desktop.UI Dispose(); } - private async void SucceedRegEvent(object sender, GeneralEventArgs e) + private async void AfterRegEvent(object sender, GeneralEventArgs e) { - string username = ((RegisterEventArgs)e).Username; - string password = ((RegisterEventArgs)e).Password; - await LoginController.LoginAccountAsync(username, password, encrypt: false); - RunTime.Login?.Dispose(); + if (e.Success) + { + string username = ((RegisterEventArgs)e).Username; + string password = ((RegisterEventArgs)e).Password; + await LoginController.LoginAccountAsync(username, password, encrypt: false); + RunTime.Login?.Dispose(); + } } private async void RegButton_Click(object sender, EventArgs e)