移除 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 try
{ {
LoginEventArgs.Success = result;
if (UIForm.GetType() == typeof(Login)) if (UIForm.GetType() == typeof(Login))
{ {
Login login = (Login)UIForm; Login login = (Login)UIForm;
if (result) login.OnSucceedLoginEvent(UIForm, LoginEventArgs);
else login.OnFailedLoginEvent(UIForm, LoginEventArgs);
login.OnAfterLoginEvent(UIForm, LoginEventArgs); login.OnAfterLoginEvent(UIForm, LoginEventArgs);
} }
else if (UIForm.GetType() == typeof(Main)) else if (UIForm.GetType() == typeof(Main))
{ {
if (result) ((Main)UIForm).OnSucceedLoginEvent(UIForm, LoginEventArgs); if (result) ((Main)UIForm).OnAfterLoginEvent(UIForm, LoginEventArgs);
} }
} }
catch (Exception e) catch (Exception e)

View File

@ -79,16 +79,7 @@ namespace Milimoe.FunGame.Desktop.Controller
} }
request.Dispose(); request.Dispose();
if (result) RegEventArgs.Success = result;
{
Register.OnSucceedRegEvent(Register, RegEventArgs);
RunTime.PluginLoader?.OnSucceedRegEvent(Register, RegEventArgs);
}
else
{
Register.OnFailedRegEvent(Register, RegEventArgs);
RunTime.PluginLoader?.OnFailedRegEvent(Register, RegEventArgs);
}
Register.OnAfterRegEvent(Register, RegEventArgs); Register.OnAfterRegEvent(Register, RegEventArgs);
RunTime.PluginLoader?.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.GetMessage(e.GetErrorInfo(), TimeType.None);
Main.UpdateUI(MainInvokeType.Disconnected); Main.UpdateUI(MainInvokeType.Disconnected);
ConnectEventArgs args = new(RunTime.Session.Server_Address, RunTime.Session.Server_Port, ConnectResult.ConnectFailed); 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(); Close_Socket();
} }

View File

@ -8,8 +8,6 @@ namespace Milimoe.FunGame.Desktop.Library.Base
{ {
public event ILoginEventHandler.BeforeEventHandler? BeforeLogin; public event ILoginEventHandler.BeforeEventHandler? BeforeLogin;
public event ILoginEventHandler.AfterEventHandler? AfterLogin; public event ILoginEventHandler.AfterEventHandler? AfterLogin;
public event ILoginEventHandler.SucceedEventHandler? SucceedLogin;
public event ILoginEventHandler.FailedEventHandler? FailedLogin;
public void OnAfterLoginEvent(object sender, LoginEventArgs e) public void OnAfterLoginEvent(object sender, LoginEventArgs e)
{ {
@ -20,15 +18,5 @@ namespace Milimoe.FunGame.Desktop.Library.Base
{ {
BeforeLogin?.Invoke(sender, e); 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.BeforeEventHandler? BeforeConnect;
public event IConnectEventHandler.AfterEventHandler? AfterConnect; public event IConnectEventHandler.AfterEventHandler? AfterConnect;
public event IConnectEventHandler.SucceedEventHandler? SucceedConnect;
public event IConnectEventHandler.FailedEventHandler? FailedConnect;
public void OnAfterConnectEvent(object sender, ConnectEventArgs e) public void OnAfterConnectEvent(object sender, ConnectEventArgs e)
{ {
@ -22,20 +20,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
BeforeConnect?.Invoke(sender, e); 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.BeforeEventHandler? BeforeDisconnect;
public event IEventHandler.AfterEventHandler? AfterDisconnect; public event IEventHandler.AfterEventHandler? AfterDisconnect;
public event IEventHandler.SucceedEventHandler? SucceedDisconnect;
public event IEventHandler.FailedEventHandler? FailedDisconnect;
public void OnAfterDisconnectEvent(object sender, GeneralEventArgs e) public void OnAfterDisconnectEvent(object sender, GeneralEventArgs e)
{ {
@ -47,20 +33,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
BeforeDisconnect?.Invoke(sender, e); 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.BeforeEventHandler? BeforeLogin;
public event ILoginEventHandler.AfterEventHandler? AfterLogin; public event ILoginEventHandler.AfterEventHandler? AfterLogin;
public event ILoginEventHandler.SucceedEventHandler? SucceedLogin;
public event ILoginEventHandler.FailedEventHandler? FailedLogin;
public void OnBeforeLoginEvent(object sender, LoginEventArgs e) public void OnBeforeLoginEvent(object sender, LoginEventArgs e)
{ {
@ -72,20 +46,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
AfterLogin?.Invoke(sender, e); 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.BeforeEventHandler? BeforeLogout;
public event IEventHandler.AfterEventHandler? AfterLogout; public event IEventHandler.AfterEventHandler? AfterLogout;
public event IEventHandler.SucceedEventHandler? SucceedLogout;
public event IEventHandler.FailedEventHandler? FailedLogout;
public void OnAfterLogoutEvent(object sender, GeneralEventArgs e) public void OnAfterLogoutEvent(object sender, GeneralEventArgs e)
{ {
@ -97,20 +59,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
BeforeLogout?.Invoke(sender, e); 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.BeforeEventHandler? BeforeIntoRoom;
public event IIntoRoomEventHandler.AfterEventHandler? AfterIntoRoom; public event IIntoRoomEventHandler.AfterEventHandler? AfterIntoRoom;
public event IIntoRoomEventHandler.SucceedEventHandler? SucceedIntoRoom;
public event IIntoRoomEventHandler.FailedEventHandler? FailedIntoRoom;
public void OnBeforeIntoRoomEvent(object sender, RoomEventArgs e) public void OnBeforeIntoRoomEvent(object sender, RoomEventArgs e)
{ {
@ -122,20 +72,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
AfterIntoRoom?.Invoke(sender, e); 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.BeforeEventHandler? BeforeSendTalk;
public event ISendTalkEventHandler.AfterEventHandler? AfterSendTalk; public event ISendTalkEventHandler.AfterEventHandler? AfterSendTalk;
public event ISendTalkEventHandler.SucceedEventHandler? SucceedSendTalk;
public event ISendTalkEventHandler.FailedEventHandler? FailedSendTalk;
public void OnBeforeSendTalkEvent(object sender, SendTalkEventArgs e) public void OnBeforeSendTalkEvent(object sender, SendTalkEventArgs e)
{ {
@ -147,20 +85,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
AfterSendTalk?.Invoke(sender, e); 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.BeforeEventHandler? BeforeCreateRoom;
public event ICreateRoomEventHandler.AfterEventHandler? AfterCreateRoom; public event ICreateRoomEventHandler.AfterEventHandler? AfterCreateRoom;
public event ICreateRoomEventHandler.SucceedEventHandler? SucceedCreateRoom;
public event ICreateRoomEventHandler.FailedEventHandler? FailedCreateRoom;
public void OnBeforeCreateRoomEvent(object sender, RoomEventArgs e) public void OnBeforeCreateRoomEvent(object sender, RoomEventArgs e)
{ {
@ -172,20 +98,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
AfterCreateRoom?.Invoke(sender, e); 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.BeforeEventHandler? BeforeQuitRoom;
public event IQuitRoomEventHandler.AfterEventHandler? AfterQuitRoom; public event IQuitRoomEventHandler.AfterEventHandler? AfterQuitRoom;
public event IQuitRoomEventHandler.SucceedEventHandler? SucceedQuitRoom;
public event IQuitRoomEventHandler.FailedEventHandler? FailedQuitRoom;
public void OnBeforeQuitRoomEvent(object sender, RoomEventArgs e) public void OnBeforeQuitRoomEvent(object sender, RoomEventArgs e)
{ {
@ -197,20 +111,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
AfterQuitRoom?.Invoke(sender, e); 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.BeforeEventHandler? BeforeStartMatch;
public event IEventHandler.AfterEventHandler? AfterStartMatch; public event IEventHandler.AfterEventHandler? AfterStartMatch;
public event IEventHandler.SucceedEventHandler? SucceedStartMatch;
public event IEventHandler.FailedEventHandler? FailedStartMatch;
public void OnBeforeStartMatchEvent(object sender, GeneralEventArgs e) public void OnBeforeStartMatchEvent(object sender, GeneralEventArgs e)
{ {
@ -222,20 +124,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
AfterStartMatch?.Invoke(sender, e); 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.BeforeEventHandler? BeforeStartGame;
public event IEventHandler.AfterEventHandler? AfterStartGame; public event IEventHandler.AfterEventHandler? AfterStartGame;
public event IEventHandler.SucceedEventHandler? SucceedStartGame;
public event IEventHandler.FailedEventHandler? FailedStartGame;
public void OnBeforeStartGameEvent(object sender, GeneralEventArgs e) public void OnBeforeStartGameEvent(object sender, GeneralEventArgs e)
{ {
@ -247,20 +137,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
AfterStartGame?.Invoke(sender, e); 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.BeforeEventHandler? BeforeOpenInventory;
public event IEventHandler.AfterEventHandler? AfterOpenInventory; public event IEventHandler.AfterEventHandler? AfterOpenInventory;
public event IEventHandler.SucceedEventHandler? SucceedOpenInventory;
public event IEventHandler.FailedEventHandler? FailedOpenInventory;
public void OnBeforeOpenInventoryEvent(object sender, GeneralEventArgs e) public void OnBeforeOpenInventoryEvent(object sender, GeneralEventArgs e)
{ {
@ -272,20 +150,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
AfterOpenInventory?.Invoke(sender, e); 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.BeforeEventHandler? BeforeOpenStore;
public event IEventHandler.AfterEventHandler? AfterOpenStore; public event IEventHandler.AfterEventHandler? AfterOpenStore;
public event IEventHandler.SucceedEventHandler? SucceedOpenStore;
public event IEventHandler.FailedEventHandler? FailedOpenStore;
public void OnBeforeOpenStoreEvent(object sender, GeneralEventArgs e) public void OnBeforeOpenStoreEvent(object sender, GeneralEventArgs e)
{ {
@ -297,20 +163,8 @@ namespace Milimoe.FunGame.Desktop.Library.Base
AfterOpenStore?.Invoke(sender, e); 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.BeforeEventHandler? BeforeEndGame;
public event IEventHandler.AfterEventHandler? AfterEndGame; public event IEventHandler.AfterEventHandler? AfterEndGame;
public event IEventHandler.SucceedEventHandler? SucceedEndGame;
public event IEventHandler.FailedEventHandler? FailedEndGame;
public void OnBeforeEndGameEvent(object sender, GeneralEventArgs e) public void OnBeforeEndGameEvent(object sender, GeneralEventArgs e)
{ {
@ -321,15 +175,5 @@ namespace Milimoe.FunGame.Desktop.Library.Base
{ {
AfterEndGame?.Invoke(sender, e); 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.BeforeEventHandler? BeforeReg;
public event IRegEventHandler.AfterEventHandler? AfterReg; public event IRegEventHandler.AfterEventHandler? AfterReg;
public event IRegEventHandler.SucceedEventHandler? SucceedReg;
public event IRegEventHandler.FailedEventHandler? FailedReg;
public void OnAfterRegEvent(object sender, RegisterEventArgs e) public void OnAfterRegEvent(object sender, RegisterEventArgs e)
{ {
@ -20,15 +18,5 @@ namespace Milimoe.FunGame.Desktop.Library.Base
{ {
BeforeReg?.Invoke(sender, e); 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(); base.BindEvent();
BeforeLogin += BeforeLoginEvent; BeforeLogin += BeforeLoginEvent;
AfterLogin += AfterLoginEvent; AfterLogin += AfterLoginEvent;
FailedLogin += FailedLoginEvent;
SucceedLogin += SucceedLoginEvent;
} }
private async Task<bool> Login_HandlerAsync(string username, string password) private async Task<bool> Login_HandlerAsync(string username, string password)
@ -80,11 +78,14 @@ namespace Milimoe.FunGame.Desktop.UI
UsernameText.Focus(); UsernameText.Focus();
} }
private void FailedLoginEvent(object sender, LoginEventArgs e) private void AfterLoginEvent(object sender, LoginEventArgs e)
{
if (!e.Success)
{ {
UpdateFailedLoginUI(); UpdateFailedLoginUI();
RunTime.Main?.OnFailedLoginEvent(sender, e); }
RunTime.PluginLoader?.OnFailedLoginEvent(sender, e); RunTime.Main?.OnAfterLoginEvent(sender, e);
RunTime.PluginLoader?.OnAfterLoginEvent(sender, e);
} }
private void UpdateFailedLoginUI() 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) private void BeforeLoginEvent(object sender, LoginEventArgs e)
{ {
RunTime.Main?.OnBeforeLoginEvent(sender, e); RunTime.Main?.OnBeforeLoginEvent(sender, e);
RunTime.PluginLoader?.OnBeforeLoginEvent(sender, e); RunTime.PluginLoader?.OnBeforeLoginEvent(sender, e);
if (e.Cancel) return; 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(); base.BindEvent();
Disposed += Main_Disposed; Disposed += Main_Disposed;
FailedConnect += FailedConnectEvent; AfterConnect += AfterConnectEvent;
SucceedConnect += SucceedConnectEvent; AfterLogin += AfterLoginEvent;
SucceedLogin += SucceedLoginEvent; AfterIntoRoom += AfterIntoRoomEvent;
SucceedIntoRoom += SucceedIntoRoomEvent; AfterCreateRoom += AfterCreateRoomEvent;
FailedIntoRoom += FailedIntoRoomEvent;
SucceedCreateRoom += SucceedCreateRoomEvent;
FailedCreateRoom += FailedCreateRoomEvent;
} }
#endregion #endregion
@ -531,13 +528,11 @@ namespace Milimoe.FunGame.Desktop.UI
Visible = true; Visible = true;
_InGame = false; _InGame = false;
SetButtonEnabled(true, ClientState.InRoom); SetButtonEnabled(true, ClientState.InRoom);
OnSucceedEndGameEvent(this, e); e.Success = true;
RunTime.PluginLoader?.OnSucceedEndGameEvent(this, e);
} }
else else
{ {
OnFailedEndGameEvent(this, e); e.Success = false;
RunTime.PluginLoader?.OnFailedEndGameEvent(this, e);
} }
OnAfterEndGameEvent(this, e); OnAfterEndGameEvent(this, e);
RunTime.PluginLoader?.OnAfterEndGameEvent(this, e); RunTime.PluginLoader?.OnAfterEndGameEvent(this, e);
@ -1478,13 +1473,26 @@ namespace Milimoe.FunGame.Desktop.UI
} }
/// <summary> /// <summary>
/// 连接服务器失败后触发事件 /// 连接服务器后触发事件
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="e"></param> /// <param name="e"></param>
/// <returns></returns> /// <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) if (!Config.FunGame_isConnected)
{ {
@ -1500,51 +1508,30 @@ namespace Milimoe.FunGame.Desktop.UI
else GetMessage("无法连接至服务器,请稍后再试。"); else GetMessage("无法连接至服务器,请稍后再试。");
} }
} }
}
/// <summary> /// <summary>
/// 连接服务器成功后触发事件 /// 登录后触发事件
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="e"></param> /// <param name="e"></param>
/// <returns></returns> /// <returns></returns>
public void SucceedConnectEvent(object sender, GeneralEventArgs e) private void AfterLoginEvent(object sender, GeneralEventArgs e)
{ {
// 创建MainController if (e.Success)
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)
{ {
TaskUtility.NewTask(SucceedLoginEvent_Handler); 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>
/// 成功进入房间后触发事件 /// 进入房间后触发事件
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="e"></param> /// <param name="e"></param>
private void SucceedIntoRoomEvent(object sender, RoomEventArgs e) private void AfterIntoRoomEvent(object sender, RoomEventArgs e)
{
if (e.Success)
{ {
InvokeUpdateUI(() => InvokeUpdateUI(() =>
{ {
@ -1552,23 +1539,20 @@ namespace Milimoe.FunGame.Desktop.UI
InRoom(); InRoom();
}); });
} }
else
{
ShowMessage(ShowMessageType.Warning, "加入房间失败!");
}
}
/// <summary> /// <summary>
/// 创建房间失败后触发事件 /// 创建房间失败后触发事件
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="e"></param> /// <param name="e"></param>
private void FailedCreateRoomEvent(object sender, RoomEventArgs e) private void AfterCreateRoomEvent(object sender, RoomEventArgs e)
{ {
ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间失败!", "创建失败"); if (e.Success)
}
/// <summary>
/// 成功创建房间后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SucceedCreateRoomEvent(object sender, RoomEventArgs e)
{ {
InvokeUpdateUI(() => InvokeUpdateUI(() =>
{ {
@ -1577,6 +1561,11 @@ namespace Milimoe.FunGame.Desktop.UI
ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间成功!\n房间号是 -> [ " + e.RoomID + " ]", "创建成功"); ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间成功!\n房间号是 -> [ " + e.RoomID + " ]", "创建成功");
}); });
} }
else
{
ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间失败!", "创建失败");
}
}
#endregion #endregion
@ -1822,16 +1811,7 @@ namespace Milimoe.FunGame.Desktop.UI
EventArgs.ConnectResult = result; EventArgs.ConnectResult = result;
}).OnCompleted(() => }).OnCompleted(() =>
{ {
if (result == ConnectResult.Success) EventArgs.Success = result == ConnectResult.Success;
{
OnSucceedConnectEvent(this, EventArgs);
RunTime.PluginLoader?.OnSucceedConnectEvent(this, EventArgs);
}
else
{
OnFailedConnectEvent(this, EventArgs);
RunTime.PluginLoader?.OnFailedConnectEvent(this, EventArgs);
}
OnAfterConnectEvent(this, EventArgs); OnAfterConnectEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterConnectEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterConnectEvent(this, EventArgs);
}).OnError(e => }).OnError(e =>
@ -1840,8 +1820,7 @@ namespace Milimoe.FunGame.Desktop.UI
GetMessage(e.InnerException?.ToString() ?? e.ToString(), TimeType.None); GetMessage(e.InnerException?.ToString() ?? e.ToString(), TimeType.None);
UpdateUI(MainInvokeType.SetRed); UpdateUI(MainInvokeType.SetRed);
Config.FunGame_isRetrying = false; Config.FunGame_isRetrying = false;
OnFailedConnectEvent(this, EventArgs); EventArgs.Success = false;
RunTime.PluginLoader?.OnFailedConnectEvent(this, EventArgs);
OnAfterConnectEvent(this, EventArgs); OnAfterConnectEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterConnectEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterConnectEvent(this, EventArgs);
}); });
@ -1870,23 +1849,13 @@ namespace Milimoe.FunGame.Desktop.UI
result = RunTime.Controller?.Disconnect() ?? false; result = RunTime.Controller?.Disconnect() ?? false;
}).OnCompleted(() => }).OnCompleted(() =>
{ {
if (result) EventArgs.Success = result;
{
OnSucceedDisconnectEvent(this, EventArgs);
RunTime.PluginLoader?.OnSucceedDisconnectEvent(this, EventArgs);
}
else
{
OnFailedDisconnectEvent(this, EventArgs);
RunTime.PluginLoader?.OnFailedDisconnectEvent(this, EventArgs);
}
OnAfterDisconnectEvent(this, EventArgs); OnAfterDisconnectEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterDisconnectEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterDisconnectEvent(this, EventArgs);
}).OnError(e => }).OnError(e =>
{ {
GetMessage(e.GetErrorInfo(), TimeType.None); GetMessage(e.GetErrorInfo(), TimeType.None);
OnFailedDisconnectEvent(this, EventArgs); EventArgs.Success = false;
RunTime.PluginLoader?.OnFailedDisconnectEvent(this, EventArgs);
OnAfterDisconnectEvent(this, EventArgs); OnAfterDisconnectEvent(this, EventArgs);
RunTime.PluginLoader?.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); result = MainController is not null && await MainController.ChatAsync(msg);
if (result) EventArgs.Success = result;
{
OnSucceedSendTalkEvent(this, EventArgs);
RunTime.PluginLoader?.OnSucceedSendTalkEvent(this, EventArgs);
}
else
{
OnFailedSendTalkEvent(this, EventArgs);
RunTime.PluginLoader?.OnFailedSendTalkEvent(this, EventArgs);
}
OnAfterSendTalkEvent(this, EventArgs); OnAfterSendTalkEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterSendTalkEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterSendTalkEvent(this, EventArgs);
} }
catch (Exception e) catch (Exception e)
{ {
GetMessage(e.GetErrorInfo(), TimeType.None); GetMessage(e.GetErrorInfo(), TimeType.None);
OnFailedSendTalkEvent(this, EventArgs); EventArgs.Success = false;
RunTime.PluginLoader?.OnFailedSendTalkEvent(this, EventArgs);
OnAfterSendTalkEvent(this, EventArgs); OnAfterSendTalkEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterSendTalkEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterSendTalkEvent(this, EventArgs);
} }
@ -1955,16 +1914,7 @@ namespace Milimoe.FunGame.Desktop.UI
if (room.Roomid != "-1") if (room.Roomid != "-1")
{ {
if (result) EventArgs.Success = result;
{
OnSucceedIntoRoomEvent(this, EventArgs);
RunTime.PluginLoader?.OnSucceedIntoRoomEvent(this, EventArgs);
}
else
{
OnFailedIntoRoomEvent(this, EventArgs);
RunTime.PluginLoader?.OnFailedIntoRoomEvent(this, EventArgs);
}
OnAfterIntoRoomEvent(this, EventArgs); OnAfterIntoRoomEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterIntoRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterIntoRoomEvent(this, EventArgs);
} }
@ -1972,8 +1922,7 @@ namespace Milimoe.FunGame.Desktop.UI
catch (Exception e) catch (Exception e)
{ {
GetMessage(e.GetErrorInfo(), TimeType.None); GetMessage(e.GetErrorInfo(), TimeType.None);
OnFailedIntoRoomEvent(this, EventArgs); EventArgs.Success = false;
RunTime.PluginLoader?.OnFailedIntoRoomEvent(this, EventArgs);
OnAfterIntoRoomEvent(this, EventArgs); OnAfterIntoRoomEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterIntoRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterIntoRoomEvent(this, EventArgs);
} }
@ -2002,22 +1951,15 @@ namespace Milimoe.FunGame.Desktop.UI
if (room.Roomid != "-1") if (room.Roomid != "-1")
{ {
EventArgs = new(room); 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); OnAfterCreateRoomEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterCreateRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterCreateRoomEvent(this, EventArgs);
} }
catch (Exception e) catch (Exception e)
{ {
GetMessage(e.GetErrorInfo(), TimeType.None); GetMessage(e.GetErrorInfo(), TimeType.None);
OnFailedCreateRoomEvent(this, EventArgs); EventArgs.Success = false;
RunTime.PluginLoader?.OnFailedCreateRoomEvent(this, EventArgs);
OnAfterCreateRoomEvent(this, EventArgs); OnAfterCreateRoomEvent(this, EventArgs);
RunTime.PluginLoader?.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); result = MainController is not null && await MainController.QuitRoomAsync(room.Roomid, isMaster);
EventArgs.Success = result;
if (result) if (result)
{ {
OnSucceedQuitRoomEvent(this, EventArgs);
RunTime.PluginLoader?.OnSucceedQuitRoomEvent(this, EventArgs);
// 禁用和激活按钮,并切换预设快捷消息 // 禁用和激活按钮,并切换预设快捷消息
InvokeUpdateUI(() => SetButtonEnabled(true, ClientState.Online)); InvokeUpdateUI(() => SetButtonEnabled(true, ClientState.Online));
} }
else
{
OnFailedQuitRoomEvent(this, EventArgs);
RunTime.PluginLoader?.OnFailedQuitRoomEvent(this, EventArgs);
}
OnAfterQuitRoomEvent(this, EventArgs); OnAfterQuitRoomEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterQuitRoomEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterQuitRoomEvent(this, EventArgs);
} }
catch (Exception e) catch (Exception e)
{ {
GetMessage(e.GetErrorInfo(), TimeType.None); GetMessage(e.GetErrorInfo(), TimeType.None);
OnFailedQuitRoomEvent(this, EventArgs); EventArgs.Success = false;
RunTime.PluginLoader?.OnFailedQuitRoomEvent(this, EventArgs);
OnAfterQuitRoomEvent(this, EventArgs); OnAfterQuitRoomEvent(this, EventArgs);
RunTime.PluginLoader?.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(); result = MainController is not null && await MainController.LogOutAsync();
if (result) EventArgs.Success = result;
{
OnSucceedLogoutEvent(this, EventArgs);
RunTime.PluginLoader?.OnSucceedLogoutEvent(this, EventArgs);
}
else
{
OnFailedLogoutEvent(this, EventArgs);
RunTime.PluginLoader?.OnFailedLogoutEvent(this, EventArgs);
}
OnAfterLogoutEvent(this, EventArgs); OnAfterLogoutEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterLogoutEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterLogoutEvent(this, EventArgs);
} }
catch (Exception e) catch (Exception e)
{ {
GetMessage(e.GetErrorInfo(), TimeType.None); GetMessage(e.GetErrorInfo(), TimeType.None);
OnFailedLogoutEvent(this, EventArgs); EventArgs.Success = false;
RunTime.PluginLoader?.OnFailedLogoutEvent(this, EventArgs);
OnAfterLogoutEvent(this, EventArgs); OnAfterLogoutEvent(this, EventArgs);
RunTime.PluginLoader?.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); result = MainController is not null && await MainController.StartGameAsync(roomid, isMaster);
if (result) EventArgs.Success = result;
{
OnSucceedStartGameEvent(this, EventArgs);
RunTime.PluginLoader?.OnSucceedStartGameEvent(this, EventArgs);
}
else
{
OnFailedStartGameEvent(this, EventArgs);
RunTime.PluginLoader?.OnFailedStartGameEvent(this, EventArgs);
}
OnAfterStartGameEvent(this, EventArgs); OnAfterStartGameEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterStartGameEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterStartGameEvent(this, EventArgs);
} }
catch (Exception e) catch (Exception e)
{ {
GetMessage(e.GetErrorInfo(), TimeType.None); GetMessage(e.GetErrorInfo(), TimeType.None);
OnFailedStartGameEvent(this, EventArgs); EventArgs.Success = false;
RunTime.PluginLoader?.OnFailedStartGameEvent(this, EventArgs);
OnAfterStartGameEvent(this, EventArgs); OnAfterStartGameEvent(this, EventArgs);
RunTime.PluginLoader?.OnAfterStartGameEvent(this, EventArgs); RunTime.PluginLoader?.OnAfterStartGameEvent(this, EventArgs);
} }

View File

@ -27,7 +27,7 @@ namespace Milimoe.FunGame.Desktop.UI
protected override void BindEvent() protected override void BindEvent()
{ {
base.BindEvent(); base.BindEvent();
SucceedReg += SucceedRegEvent; AfterReg += AfterRegEvent;
} }
private async Task<bool> Reg_HandlerAsync(string username, string password, string email) private async Task<bool> Reg_HandlerAsync(string username, string password, string email)
@ -48,13 +48,16 @@ namespace Milimoe.FunGame.Desktop.UI
Dispose(); 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 username = ((RegisterEventArgs)e).Username;
string password = ((RegisterEventArgs)e).Password; string password = ((RegisterEventArgs)e).Password;
await LoginController.LoginAccountAsync(username, password, encrypt: false); await LoginController.LoginAccountAsync(username, password, encrypt: false);
RunTime.Login?.Dispose(); RunTime.Login?.Dispose();
} }
}
private async void RegButton_Click(object sender, EventArgs e) private async void RegButton_Click(object sender, EventArgs e)
{ {