移除 Failed/Succeed 事件

This commit is contained in:
风吹落的叶子 2025-03-09 16:31:20 +08:00
parent e09da145b9
commit 5f43940c66
No known key found for this signature in database
GPG Key ID: E4B3256511E76470
9 changed files with 99 additions and 381 deletions

View File

@ -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)

View File

@ -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);
}

View File

@ -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();
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -23,8 +23,6 @@ namespace Milimoe.FunGame.Desktop.UI
base.BindEvent();
BeforeLogin += BeforeLoginEvent;
AfterLogin += AfterLoginEvent;
FailedLogin += FailedLoginEvent;
SucceedLogin += SucceedLoginEvent;
}
private async Task<bool> 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)
{
if (!e.Success)
{
UpdateFailedLoginUI();
RunTime.Main?.OnFailedLoginEvent(sender, e);
RunTime.PluginLoader?.OnFailedLoginEvent(sender, e);
}
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);
}
}
}

View File

@ -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,13 +1473,26 @@ namespace Milimoe.FunGame.Desktop.UI
}
/// <summary>
/// 连接服务器失败后触发事件
/// 连接服务器后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
public void FailedConnectEvent(object sender, GeneralEventArgs e)
public void AfterConnectEvent(object sender, GeneralEventArgs e)
{
if (e.Success)
{
// 创建MainController
MainController = new MainController(this);
if (MainController != null && Config.FunGame_isAutoLogin && Config.FunGame_AutoLoginUser != "" && Config.FunGame_AutoLoginPassword != "" && Config.FunGame_AutoLoginKey != "")
{
// 自动登录
RunTime.Controller?.AutoLogin(Config.FunGame_AutoLoginUser, Config.FunGame_AutoLoginPassword, Config.FunGame_AutoLoginKey);
}
}
else
{
// 自动重连
if (!Config.FunGame_isConnected)
{
@ -1500,51 +1508,30 @@ namespace Milimoe.FunGame.Desktop.UI
else GetMessage("无法连接至服务器,请稍后再试。");
}
}
}
/// <summary>
/// 连接服务器成功后触发事件
/// 登录后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
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 != "")
{
// 自动登录
RunTime.Controller?.AutoLogin(Config.FunGame_AutoLoginUser, Config.FunGame_AutoLoginPassword, Config.FunGame_AutoLoginKey);
}
}
/// <summary>
/// 登录成功后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <returns></returns>
private void SucceedLoginEvent(object sender, GeneralEventArgs e)
if (e.Success)
{
TaskUtility.NewTask(SucceedLoginEvent_Handler);
}
/// <summary>
/// 进入房间失败后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FailedIntoRoomEvent(object sender, RoomEventArgs e)
{
ShowMessage(ShowMessageType.Warning, "加入房间失败!");
}
/// <summary>
/// 成功进入房间后触发事件
/// 进入房间后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SucceedIntoRoomEvent(object sender, RoomEventArgs e)
private void AfterIntoRoomEvent(object sender, RoomEventArgs e)
{
if (e.Success)
{
InvokeUpdateUI(() =>
{
@ -1552,23 +1539,20 @@ namespace Milimoe.FunGame.Desktop.UI
InRoom();
});
}
else
{
ShowMessage(ShowMessageType.Warning, "加入房间失败!");
}
}
/// <summary>
/// 创建房间失败后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FailedCreateRoomEvent(object sender, RoomEventArgs e)
private void AfterCreateRoomEvent(object sender, RoomEventArgs e)
{
ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间失败!", "创建失败");
}
/// <summary>
/// 成功创建房间后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SucceedCreateRoomEvent(object sender, RoomEventArgs e)
if (e.Success)
{
InvokeUpdateUI(() =>
{
@ -1577,6 +1561,11 @@ namespace Milimoe.FunGame.Desktop.UI
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);
}

View File

@ -27,7 +27,7 @@ namespace Milimoe.FunGame.Desktop.UI
protected override void BindEvent()
{
base.BindEvent();
SucceedReg += SucceedRegEvent;
AfterReg += AfterRegEvent;
}
private async Task<bool> Reg_HandlerAsync(string username, string password, string email)
@ -48,13 +48,16 @@ namespace Milimoe.FunGame.Desktop.UI
Dispose();
}
private async void SucceedRegEvent(object sender, GeneralEventArgs e)
private async void AfterRegEvent(object sender, GeneralEventArgs e)
{
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)
{