mirror of
https://github.com/project-redbud/FunGame-Desktop.git
synced 2025-04-22 04:59:34 +08:00
预留插件事件接口,添加插件加载方法 (#18)
This commit is contained in:
parent
950ae5e467
commit
ab2f2c6c3d
@ -65,6 +65,7 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
if (user.Id != 0)
|
if (user.Id != 0)
|
||||||
{
|
{
|
||||||
// 创建User对象并返回到Main
|
// 创建User对象并返回到Main
|
||||||
|
args.Username = user.Username;
|
||||||
RunTime.Session.LoginKey = key;
|
RunTime.Session.LoginKey = key;
|
||||||
RunTime.Main?.UpdateUI(MainInvokeType.SetUser, user);
|
RunTime.Main?.UpdateUI(MainInvokeType.SetUser, user);
|
||||||
result = true;
|
result = true;
|
||||||
@ -161,7 +162,8 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
{
|
{
|
||||||
if (UIForm.GetType() == typeof(Login))
|
if (UIForm.GetType() == typeof(Login))
|
||||||
{
|
{
|
||||||
return ((Login)UIForm).OnBeforeLoginEvent(LoginEventArgs) == EventResult.Success;
|
((Login)UIForm).OnBeforeLoginEvent(UIForm, LoginEventArgs);
|
||||||
|
return !LoginEventArgs.Cancel;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -173,13 +175,13 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
if (UIForm.GetType() == typeof(Login))
|
if (UIForm.GetType() == typeof(Login))
|
||||||
{
|
{
|
||||||
Login login = (Login)UIForm;
|
Login login = (Login)UIForm;
|
||||||
if (result) login.OnSucceedLoginEvent(LoginEventArgs);
|
if (result) login.OnSucceedLoginEvent(UIForm, LoginEventArgs);
|
||||||
else login.OnFailedLoginEvent(LoginEventArgs);
|
else login.OnFailedLoginEvent(UIForm, LoginEventArgs);
|
||||||
login.OnAfterLoginEvent(LoginEventArgs);
|
login.OnAfterLoginEvent(UIForm, LoginEventArgs);
|
||||||
}
|
}
|
||||||
else if (UIForm.GetType() == typeof(Main))
|
else if (UIForm.GetType() == typeof(Main))
|
||||||
{
|
{
|
||||||
if (result) ((Main)UIForm).OnSucceedLoginEvent(LoginEventArgs);
|
if (result) ((Main)UIForm).OnSucceedLoginEvent(UIForm, LoginEventArgs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@ -161,9 +161,9 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> CreateRoomAsync(string RoomType, string Password = "")
|
public async Task<Room> CreateRoomAsync(string RoomType, string Password = "")
|
||||||
{
|
{
|
||||||
string roomid = "-1";
|
Room room = General.HallInstance;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -173,7 +173,7 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
await CreateRoomRequest.SendRequestAsync();
|
await CreateRoomRequest.SendRequestAsync();
|
||||||
if (CreateRoomRequest.Result == RequestResult.Success)
|
if (CreateRoomRequest.Result == RequestResult.Success)
|
||||||
{
|
{
|
||||||
roomid = CreateRoomRequest.GetResult<string>("roomid") ?? "-1";
|
room = CreateRoomRequest.GetResult<Room>("room") ?? room;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -181,7 +181,7 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
Main.GetMessage(e.GetErrorInfo(), TimeType.None);
|
Main.GetMessage(e.GetErrorInfo(), TimeType.None);
|
||||||
}
|
}
|
||||||
|
|
||||||
return roomid;
|
return room;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> ChatAsync(string msg)
|
public async Task<bool> ChatAsync(string msg)
|
||||||
|
@ -26,7 +26,9 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
{
|
{
|
||||||
password = password.Encrypt(username);
|
password = password.Encrypt(username);
|
||||||
RegisterEventArgs RegEventArgs = new(username, password, email);
|
RegisterEventArgs RegEventArgs = new(username, password, email);
|
||||||
if (Register.OnBeforeRegEvent(RegEventArgs) == EventResult.Fail) return false;
|
Register.OnBeforeRegEvent(Register, RegEventArgs);
|
||||||
|
RunTime.PluginLoader?.OnBeforeRegEvent(Register, RegEventArgs);
|
||||||
|
if (RegEventArgs.Cancel) return false;
|
||||||
|
|
||||||
DataRequest request = RunTime.NewLongRunningDataRequest(DataRequestType.Reg_GetRegVerifyCode);
|
DataRequest request = RunTime.NewLongRunningDataRequest(DataRequestType.Reg_GetRegVerifyCode);
|
||||||
request.AddRequestData("username", username);
|
request.AddRequestData("username", username);
|
||||||
@ -77,15 +79,24 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
}
|
}
|
||||||
request.Dispose();
|
request.Dispose();
|
||||||
|
|
||||||
if (result) Register.OnSucceedRegEvent(RegEventArgs);
|
if (result)
|
||||||
else Register.OnFailedRegEvent(RegEventArgs);
|
{
|
||||||
Register.OnAfterRegEvent(RegEventArgs);
|
Register.OnSucceedRegEvent(Register, RegEventArgs);
|
||||||
|
RunTime.PluginLoader?.OnSucceedRegEvent(Register, RegEventArgs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Register.OnFailedRegEvent(Register, RegEventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedRegEvent(Register, RegEventArgs);
|
||||||
|
}
|
||||||
|
Register.OnAfterRegEvent(Register, RegEventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterRegEvent(Register, RegEventArgs);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
RunTime.WritelnSystemInfo(e.GetErrorInfo());
|
RunTime.WritelnSystemInfo(e.GetErrorInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
using Milimoe.FunGame.Core.Entity;
|
using Milimoe.FunGame.Core.Api.Transmittal;
|
||||||
|
using Milimoe.FunGame.Core.Api.Utility;
|
||||||
|
using Milimoe.FunGame.Core.Entity;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Network;
|
using Milimoe.FunGame.Core.Library.Common.Network;
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
using Milimoe.FunGame.Core.Library.Constant;
|
||||||
@ -21,16 +23,37 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
LoginController = new(Main);
|
LoginController = new(Main);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void LoadPlugins()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RunTime.PluginLoader = PluginLoader.LoadPlugins(
|
||||||
|
new Action<string>(WritelnSystemInfo),
|
||||||
|
new Func<DataRequestType, DataRequest>(NewDataRequest),
|
||||||
|
new Func<DataRequestType, DataRequest>(NewLongRunningDataRequest),
|
||||||
|
RunTime.Session, RunTime.Config);
|
||||||
|
foreach (string name in RunTime.PluginLoader.Plugins.Keys)
|
||||||
|
{
|
||||||
|
Main.GetMessage("[ PluginLoader ] Load: " + name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Main.GetMessage(e.GetErrorInfo(), TimeType.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override void WritelnSystemInfo(string msg)
|
public override void WritelnSystemInfo(string msg)
|
||||||
{
|
{
|
||||||
Main?.GetMessage(msg);
|
Main.GetMessage(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Error(Exception e)
|
public override void Error(Exception e)
|
||||||
{
|
{
|
||||||
Main.GetMessage(e.GetErrorInfo(), TimeType.None);
|
Main.GetMessage(e.GetErrorInfo(), TimeType.None);
|
||||||
Main.UpdateUI(MainInvokeType.Disconnected);
|
Main.UpdateUI(MainInvokeType.Disconnected);
|
||||||
Main.OnFailedConnectEvent(new ConnectEventArgs(RunTime.Session.Server_IP, RunTime.Session.Server_Port));
|
ConnectEventArgs args = new(RunTime.Session.Server_IP, RunTime.Session.Server_Port, ConnectResult.ConnectFailed);
|
||||||
|
Main.OnFailedConnectEvent(Main, args);
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,8 +145,6 @@ namespace Milimoe.FunGame.Desktop.Controller
|
|||||||
Main.GetMessage(msg);
|
Main.GetMessage(msg);
|
||||||
Main.UpdateUI(MainInvokeType.Disconnect);
|
Main.UpdateUI(MainInvokeType.Disconnect);
|
||||||
Close();
|
Close();
|
||||||
Main.OnSucceedDisconnectEvent(new GeneralEventArgs());
|
|
||||||
Main.OnAfterDisconnectEvent(new GeneralEventArgs());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void SocketHandler_HeartBeat(SocketObject ServerMessage)
|
protected override void SocketHandler_HeartBeat(SocketObject ServerMessage)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
using Milimoe.FunGame.Core.Interface;
|
using Milimoe.FunGame.Core.Interface;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
|
||||||
using Milimoe.FunGame.Desktop.Library.Component;
|
using Milimoe.FunGame.Desktop.Library.Component;
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Desktop.Library.Base
|
namespace Milimoe.FunGame.Desktop.Library.Base
|
||||||
@ -12,40 +11,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event ILoginEventHandler.SucceedEventHandler? SucceedLogin;
|
public event ILoginEventHandler.SucceedEventHandler? SucceedLogin;
|
||||||
public event ILoginEventHandler.FailedEventHandler? FailedLogin;
|
public event ILoginEventHandler.FailedEventHandler? FailedLogin;
|
||||||
|
|
||||||
public EventResult OnAfterLoginEvent(LoginEventArgs e)
|
public void OnAfterLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterLogin != null)
|
AfterLogin?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterLogin.Invoke(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnBeforeLoginEvent(LoginEventArgs e)
|
public void OnBeforeLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeLogin != null)
|
BeforeLogin?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeLogin.Invoke(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedLoginEvent(LoginEventArgs e)
|
public void OnFailedLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedLogin != null)
|
FailedLogin?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedLogin.Invoke(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedLoginEvent(LoginEventArgs e)
|
public void OnSucceedLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedLogin != null)
|
SucceedLogin?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedLogin.Invoke(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
using Milimoe.FunGame.Core.Interface;
|
using Milimoe.FunGame.Core.Interface;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
|
||||||
using Milimoe.FunGame.Desktop.Library.Component;
|
using Milimoe.FunGame.Desktop.Library.Component;
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Desktop.Library.Base
|
namespace Milimoe.FunGame.Desktop.Library.Base
|
||||||
@ -13,40 +12,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IConnectEventHandler.SucceedEventHandler? SucceedConnect;
|
public event IConnectEventHandler.SucceedEventHandler? SucceedConnect;
|
||||||
public event IConnectEventHandler.FailedEventHandler? FailedConnect;
|
public event IConnectEventHandler.FailedEventHandler? FailedConnect;
|
||||||
|
|
||||||
public EventResult OnAfterConnectEvent(ConnectEventArgs e)
|
public void OnAfterConnectEvent(object sender, ConnectEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterConnect != null)
|
AfterConnect?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterConnect(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnBeforeConnectEvent(ConnectEventArgs e)
|
public void OnBeforeConnectEvent(object sender, ConnectEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeConnect != null)
|
BeforeConnect?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeConnect(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedConnectEvent(ConnectEventArgs e)
|
public void OnSucceedConnectEvent(object sender, ConnectEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedConnect != null)
|
SucceedConnect?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedConnect(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedConnectEvent(ConnectEventArgs e)
|
public void OnFailedConnectEvent(object sender, ConnectEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedConnect != null)
|
FailedConnect?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedConnect(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event IEventHandler.BeforeEventHandler? BeforeDisconnect;
|
public event IEventHandler.BeforeEventHandler? BeforeDisconnect;
|
||||||
@ -54,40 +37,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IEventHandler.SucceedEventHandler? SucceedDisconnect;
|
public event IEventHandler.SucceedEventHandler? SucceedDisconnect;
|
||||||
public event IEventHandler.FailedEventHandler? FailedDisconnect;
|
public event IEventHandler.FailedEventHandler? FailedDisconnect;
|
||||||
|
|
||||||
public EventResult OnAfterDisconnectEvent(GeneralEventArgs e)
|
public void OnAfterDisconnectEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterDisconnect != null)
|
AfterDisconnect?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterDisconnect(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnBeforeDisconnectEvent(GeneralEventArgs e)
|
public void OnBeforeDisconnectEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeDisconnect != null)
|
BeforeDisconnect?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeDisconnect(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedDisconnectEvent(GeneralEventArgs e)
|
public void OnFailedDisconnectEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedDisconnect != null)
|
FailedDisconnect?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedDisconnect(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedDisconnectEvent(GeneralEventArgs e)
|
public void OnSucceedDisconnectEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedDisconnect != null)
|
SucceedDisconnect?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedDisconnect(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event ILoginEventHandler.BeforeEventHandler? BeforeLogin;
|
public event ILoginEventHandler.BeforeEventHandler? BeforeLogin;
|
||||||
@ -95,40 +62,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event ILoginEventHandler.SucceedEventHandler? SucceedLogin;
|
public event ILoginEventHandler.SucceedEventHandler? SucceedLogin;
|
||||||
public event ILoginEventHandler.FailedEventHandler? FailedLogin;
|
public event ILoginEventHandler.FailedEventHandler? FailedLogin;
|
||||||
|
|
||||||
public EventResult OnBeforeLoginEvent(LoginEventArgs e)
|
public void OnBeforeLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeLogin != null)
|
BeforeLogin?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeLogin(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnAfterLoginEvent(LoginEventArgs e)
|
public void OnAfterLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterLogin != null)
|
AfterLogin?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterLogin(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedLoginEvent(LoginEventArgs e)
|
public void OnSucceedLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedLogin != null)
|
SucceedLogin?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedLogin(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedLoginEvent(LoginEventArgs e)
|
public void OnFailedLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedLogin != null)
|
FailedLogin?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedLogin(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event IEventHandler.BeforeEventHandler? BeforeLogout;
|
public event IEventHandler.BeforeEventHandler? BeforeLogout;
|
||||||
@ -136,40 +87,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IEventHandler.SucceedEventHandler? SucceedLogout;
|
public event IEventHandler.SucceedEventHandler? SucceedLogout;
|
||||||
public event IEventHandler.FailedEventHandler? FailedLogout;
|
public event IEventHandler.FailedEventHandler? FailedLogout;
|
||||||
|
|
||||||
public EventResult OnAfterLogoutEvent(GeneralEventArgs e)
|
public void OnAfterLogoutEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterLogout != null)
|
AfterLogout?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterLogout(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnBeforeLogoutEvent(GeneralEventArgs e)
|
public void OnBeforeLogoutEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeLogout != null)
|
BeforeLogout?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeLogout(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedLogoutEvent(GeneralEventArgs e)
|
public void OnFailedLogoutEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedLogout != null)
|
FailedLogout?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedLogout(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedLogoutEvent(GeneralEventArgs e)
|
public void OnSucceedLogoutEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedLogout != null)
|
SucceedLogout?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedLogout(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event IIntoRoomEventHandler.BeforeEventHandler? BeforeIntoRoom;
|
public event IIntoRoomEventHandler.BeforeEventHandler? BeforeIntoRoom;
|
||||||
@ -177,40 +112,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IIntoRoomEventHandler.SucceedEventHandler? SucceedIntoRoom;
|
public event IIntoRoomEventHandler.SucceedEventHandler? SucceedIntoRoom;
|
||||||
public event IIntoRoomEventHandler.FailedEventHandler? FailedIntoRoom;
|
public event IIntoRoomEventHandler.FailedEventHandler? FailedIntoRoom;
|
||||||
|
|
||||||
public EventResult OnBeforeIntoRoomEvent(RoomEventArgs e)
|
public void OnBeforeIntoRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeIntoRoom != null)
|
BeforeIntoRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeIntoRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnAfterIntoRoomEvent(RoomEventArgs e)
|
public void OnAfterIntoRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterIntoRoom != null)
|
AfterIntoRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterIntoRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedIntoRoomEvent(RoomEventArgs e)
|
public void OnSucceedIntoRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedIntoRoom != null)
|
SucceedIntoRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedIntoRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedIntoRoomEvent(RoomEventArgs e)
|
public void OnFailedIntoRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedIntoRoom != null)
|
FailedIntoRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedIntoRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event ISendTalkEventHandler.BeforeEventHandler? BeforeSendTalk;
|
public event ISendTalkEventHandler.BeforeEventHandler? BeforeSendTalk;
|
||||||
@ -218,40 +137,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event ISendTalkEventHandler.SucceedEventHandler? SucceedSendTalk;
|
public event ISendTalkEventHandler.SucceedEventHandler? SucceedSendTalk;
|
||||||
public event ISendTalkEventHandler.FailedEventHandler? FailedSendTalk;
|
public event ISendTalkEventHandler.FailedEventHandler? FailedSendTalk;
|
||||||
|
|
||||||
public EventResult OnBeforeSendTalkEvent(SendTalkEventArgs e)
|
public void OnBeforeSendTalkEvent(object sender, SendTalkEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeSendTalk != null)
|
BeforeSendTalk?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeSendTalk(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnAfterSendTalkEvent(SendTalkEventArgs e)
|
public void OnAfterSendTalkEvent(object sender, SendTalkEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterSendTalk != null)
|
AfterSendTalk?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterSendTalk(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedSendTalkEvent(SendTalkEventArgs e)
|
public void OnSucceedSendTalkEvent(object sender, SendTalkEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedSendTalk != null)
|
SucceedSendTalk?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedSendTalk(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedSendTalkEvent(SendTalkEventArgs e)
|
public void OnFailedSendTalkEvent(object sender, SendTalkEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedSendTalk != null)
|
FailedSendTalk?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedSendTalk(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event ICreateRoomEventHandler.BeforeEventHandler? BeforeCreateRoom;
|
public event ICreateRoomEventHandler.BeforeEventHandler? BeforeCreateRoom;
|
||||||
@ -259,40 +162,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event ICreateRoomEventHandler.SucceedEventHandler? SucceedCreateRoom;
|
public event ICreateRoomEventHandler.SucceedEventHandler? SucceedCreateRoom;
|
||||||
public event ICreateRoomEventHandler.FailedEventHandler? FailedCreateRoom;
|
public event ICreateRoomEventHandler.FailedEventHandler? FailedCreateRoom;
|
||||||
|
|
||||||
public EventResult OnBeforeCreateRoomEvent(RoomEventArgs e)
|
public void OnBeforeCreateRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeCreateRoom != null)
|
BeforeCreateRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeCreateRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnAfterCreateRoomEvent(RoomEventArgs e)
|
public void OnAfterCreateRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterCreateRoom != null)
|
AfterCreateRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterCreateRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedCreateRoomEvent(RoomEventArgs e)
|
public void OnSucceedCreateRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedCreateRoom != null)
|
SucceedCreateRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedCreateRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedCreateRoomEvent(RoomEventArgs e)
|
public void OnFailedCreateRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedCreateRoom != null)
|
FailedCreateRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedCreateRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event IQuitRoomEventHandler.BeforeEventHandler? BeforeQuitRoom;
|
public event IQuitRoomEventHandler.BeforeEventHandler? BeforeQuitRoom;
|
||||||
@ -300,40 +187,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IQuitRoomEventHandler.SucceedEventHandler? SucceedQuitRoom;
|
public event IQuitRoomEventHandler.SucceedEventHandler? SucceedQuitRoom;
|
||||||
public event IQuitRoomEventHandler.FailedEventHandler? FailedQuitRoom;
|
public event IQuitRoomEventHandler.FailedEventHandler? FailedQuitRoom;
|
||||||
|
|
||||||
public EventResult OnBeforeQuitRoomEvent(RoomEventArgs e)
|
public void OnBeforeQuitRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeQuitRoom != null)
|
BeforeQuitRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeQuitRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnAfterQuitRoomEvent(RoomEventArgs e)
|
public void OnAfterQuitRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterQuitRoom != null)
|
AfterQuitRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterQuitRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedQuitRoomEvent(RoomEventArgs e)
|
public void OnSucceedQuitRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedQuitRoom != null)
|
SucceedQuitRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedQuitRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedQuitRoomEvent(RoomEventArgs e)
|
public void OnFailedQuitRoomEvent(object sender, RoomEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedQuitRoom != null)
|
FailedQuitRoom?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedQuitRoom(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event IEventHandler.BeforeEventHandler? BeforeStartMatch;
|
public event IEventHandler.BeforeEventHandler? BeforeStartMatch;
|
||||||
@ -341,40 +212,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IEventHandler.SucceedEventHandler? SucceedStartMatch;
|
public event IEventHandler.SucceedEventHandler? SucceedStartMatch;
|
||||||
public event IEventHandler.FailedEventHandler? FailedStartMatch;
|
public event IEventHandler.FailedEventHandler? FailedStartMatch;
|
||||||
|
|
||||||
public EventResult OnBeforeStartMatchEvent(GeneralEventArgs e)
|
public void OnBeforeStartMatchEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeStartMatch != null)
|
BeforeStartMatch?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeStartMatch(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnAfterStartMatchEvent(GeneralEventArgs e)
|
public void OnAfterStartMatchEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterStartMatch != null)
|
AfterStartMatch?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterStartMatch(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedStartMatchEvent(GeneralEventArgs e)
|
public void OnSucceedStartMatchEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedStartMatch != null)
|
SucceedStartMatch?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedStartMatch(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedStartMatchEvent(GeneralEventArgs e)
|
public void OnFailedStartMatchEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedStartMatch != null)
|
FailedStartMatch?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedStartMatch(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event IEventHandler.BeforeEventHandler? BeforeStartGame;
|
public event IEventHandler.BeforeEventHandler? BeforeStartGame;
|
||||||
@ -382,40 +237,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IEventHandler.SucceedEventHandler? SucceedStartGame;
|
public event IEventHandler.SucceedEventHandler? SucceedStartGame;
|
||||||
public event IEventHandler.FailedEventHandler? FailedStartGame;
|
public event IEventHandler.FailedEventHandler? FailedStartGame;
|
||||||
|
|
||||||
public EventResult OnBeforeStartGameEvent(GeneralEventArgs e)
|
public void OnBeforeStartGameEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeStartGame != null)
|
BeforeStartGame?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeStartGame(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnAfterStartGameEvent(GeneralEventArgs e)
|
public void OnAfterStartGameEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterStartGame != null)
|
AfterStartGame?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterStartGame(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedStartGameEvent(GeneralEventArgs e)
|
public void OnSucceedStartGameEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedStartGame != null)
|
SucceedStartGame?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedStartGame(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedStartGameEvent(GeneralEventArgs e)
|
public void OnFailedStartGameEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedStartGame != null)
|
FailedStartGame?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedStartGame(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event IEventHandler.BeforeEventHandler? BeforeOpenInventory;
|
public event IEventHandler.BeforeEventHandler? BeforeOpenInventory;
|
||||||
@ -423,40 +262,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IEventHandler.SucceedEventHandler? SucceedOpenInventory;
|
public event IEventHandler.SucceedEventHandler? SucceedOpenInventory;
|
||||||
public event IEventHandler.FailedEventHandler? FailedOpenInventory;
|
public event IEventHandler.FailedEventHandler? FailedOpenInventory;
|
||||||
|
|
||||||
public EventResult OnBeforeOpenInventoryEvent(GeneralEventArgs e)
|
public void OnBeforeOpenInventoryEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeOpenInventory != null)
|
BeforeOpenInventory?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeOpenInventory(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnAfterOpenInventoryEvent(GeneralEventArgs e)
|
public void OnAfterOpenInventoryEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterOpenInventory != null)
|
AfterOpenInventory?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterOpenInventory(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedOpenInventoryEvent(GeneralEventArgs e)
|
public void OnSucceedOpenInventoryEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedOpenInventory != null)
|
SucceedOpenInventory?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedOpenInventory(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedOpenInventoryEvent(GeneralEventArgs e)
|
public void OnFailedOpenInventoryEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedOpenInventory != null)
|
FailedOpenInventory?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedOpenInventory(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event IEventHandler.BeforeEventHandler? BeforeOpenStore;
|
public event IEventHandler.BeforeEventHandler? BeforeOpenStore;
|
||||||
@ -464,40 +287,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IEventHandler.SucceedEventHandler? SucceedOpenStore;
|
public event IEventHandler.SucceedEventHandler? SucceedOpenStore;
|
||||||
public event IEventHandler.FailedEventHandler? FailedOpenStore;
|
public event IEventHandler.FailedEventHandler? FailedOpenStore;
|
||||||
|
|
||||||
public EventResult OnBeforeOpenStoreEvent(GeneralEventArgs e)
|
public void OnBeforeOpenStoreEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeOpenStore != null)
|
BeforeOpenStore?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeOpenStore(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnAfterOpenStoreEvent(GeneralEventArgs e)
|
public void OnAfterOpenStoreEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterOpenStore != null)
|
AfterOpenStore?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterOpenStore(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedOpenStoreEvent(GeneralEventArgs e)
|
public void OnSucceedOpenStoreEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedOpenStore != null)
|
SucceedOpenStore?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedOpenStore(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedOpenStoreEvent(GeneralEventArgs e)
|
public void OnFailedOpenStoreEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedOpenStore != null)
|
FailedOpenStore?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedOpenStore(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
using Milimoe.FunGame.Core.Interface;
|
using Milimoe.FunGame.Core.Interface;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
|
||||||
using Milimoe.FunGame.Desktop.Library.Component;
|
using Milimoe.FunGame.Desktop.Library.Component;
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Desktop.Library.Base
|
namespace Milimoe.FunGame.Desktop.Library.Base
|
||||||
@ -12,40 +11,24 @@ namespace Milimoe.FunGame.Desktop.Library.Base
|
|||||||
public event IRegEventHandler.SucceedEventHandler? SucceedReg;
|
public event IRegEventHandler.SucceedEventHandler? SucceedReg;
|
||||||
public event IRegEventHandler.FailedEventHandler? FailedReg;
|
public event IRegEventHandler.FailedEventHandler? FailedReg;
|
||||||
|
|
||||||
public EventResult OnAfterRegEvent(RegisterEventArgs e)
|
public void OnAfterRegEvent(object sender, RegisterEventArgs e)
|
||||||
{
|
{
|
||||||
if (AfterReg != null)
|
AfterReg?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return AfterReg(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnBeforeRegEvent(RegisterEventArgs e)
|
public void OnBeforeRegEvent(object sender, RegisterEventArgs e)
|
||||||
{
|
{
|
||||||
if (BeforeReg != null)
|
BeforeReg?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return BeforeReg(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnFailedRegEvent(RegisterEventArgs e)
|
public void OnFailedRegEvent(object sender, RegisterEventArgs e)
|
||||||
{
|
{
|
||||||
if (FailedReg != null)
|
FailedReg?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return FailedReg(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult OnSucceedRegEvent(RegisterEventArgs e)
|
public void OnSucceedRegEvent(object sender, RegisterEventArgs e)
|
||||||
{
|
{
|
||||||
if (SucceedReg != null)
|
SucceedReg?.Invoke(sender, e);
|
||||||
{
|
|
||||||
return SucceedReg(this, e);
|
|
||||||
}
|
|
||||||
else return EventResult.NoEventImplement;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ namespace Milimoe.FunGame.Desktop.Library.Component
|
|||||||
|
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 提供公共方法给Controller发送消息弹窗(这样可以防止跨线程时,弹窗不在最上层)<para/>
|
/// 提供公共方法给Controller发送消息弹窗(这样可以防止跨线程时,弹窗不在最上层)<para/>
|
||||||
/// 支持返回点击的按钮,用于判断是否取消输入
|
/// 支持返回点击的按钮,用于判断是否取消输入
|
||||||
|
@ -159,7 +159,7 @@ namespace Milimoe.FunGame.Desktop.Library.Component
|
|||||||
|
|
||||||
public static MessageResult Message(string msg, string title, int autoclose = 0)
|
public static MessageResult Message(string msg, string title, int autoclose = 0)
|
||||||
{
|
{
|
||||||
object[] objs = { title, msg, autoclose, MessageButtonType.OK, BUTTON_OK};
|
object[] objs = { title, msg, autoclose, MessageButtonType.OK, BUTTON_OK };
|
||||||
MessageResult result = new ShowMessage(objs).MessageResult;
|
MessageResult result = new ShowMessage(objs).MessageResult;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -212,7 +212,7 @@ namespace Milimoe.FunGame.Desktop.Library.Component
|
|||||||
string result = new ShowMessage(objs).InputResult;
|
string result = new ShowMessage(objs).InputResult;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string InputMessageCancel(string msg, string title, out MessageResult cancel)
|
public static string InputMessageCancel(string msg, string title, out MessageResult cancel)
|
||||||
{
|
{
|
||||||
object[] objs = { title, msg, 0, MessageButtonType.Input };
|
object[] objs = { title, msg, 0, MessageButtonType.Input };
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using Milimoe.FunGame.Core.Api.Transmittal;
|
using Milimoe.FunGame.Core.Api.Transmittal;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Plugin;
|
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
using Milimoe.FunGame.Core.Library.Constant;
|
||||||
|
|
||||||
namespace Milimoe.FunGame.Desktop.Model
|
namespace Milimoe.FunGame.Desktop.Model
|
||||||
@ -12,7 +11,7 @@ namespace Milimoe.FunGame.Desktop.Model
|
|||||||
public static Core.Model.RoomList RoomList { get; } = new();
|
public static Core.Model.RoomList RoomList { get; } = new();
|
||||||
public static Core.Model.Session Session { get; } = new();
|
public static Core.Model.Session Session { get; } = new();
|
||||||
public static Core.Model.FunGameConfig Config { get; } = new();
|
public static Core.Model.FunGameConfig Config { get; } = new();
|
||||||
public static Dictionary<string, BasePlugin> Plugins { get; } = new();
|
public static Core.Api.Utility.PluginLoader? PluginLoader { get; set; } = null;
|
||||||
public static Core.Library.Common.Network.Socket? Socket { get; set; } = null;
|
public static Core.Library.Common.Network.Socket? Socket { get; set; } = null;
|
||||||
public static Controller.RunTimeController? Controller { get; set; } = null;
|
public static Controller.RunTimeController? Controller { get; set; } = null;
|
||||||
public static UI.Main? Main { get; set; } = null;
|
public static UI.Main? Main { get; set; } = null;
|
||||||
|
@ -85,29 +85,30 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
UsernameText.Focus();
|
UsernameText.Focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventResult FailedLoginEvent(object sender, LoginEventArgs e)
|
public void FailedLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
GoToLogin.Enabled = true;
|
GoToLogin.Enabled = true;
|
||||||
RunTime.Main?.OnFailedLoginEvent(e);
|
RunTime.Main?.OnFailedLoginEvent(sender, e);
|
||||||
return EventResult.Success;
|
RunTime.PluginLoader?.OnFailedLoginEvent(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
private EventResult SucceedLoginEvent(object sender, LoginEventArgs e)
|
private void SucceedLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
RunTime.Main?.OnSucceedLoginEvent(e);
|
RunTime.Main?.OnSucceedLoginEvent(sender, e);
|
||||||
return EventResult.Success;
|
RunTime.PluginLoader?.OnSucceedLoginEvent(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
private EventResult BeforeLoginEvent(object sender, LoginEventArgs e)
|
private void BeforeLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
if (RunTime.Main?.OnBeforeLoginEvent(e) == EventResult.Fail) return EventResult.Fail;
|
RunTime.Main?.OnBeforeLoginEvent(sender, e);
|
||||||
return EventResult.Success;
|
RunTime.PluginLoader?.OnBeforeLoginEvent(sender, e);
|
||||||
|
if (e.Cancel) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
private EventResult AfterLoginEvent(object sender, LoginEventArgs e)
|
private void AfterLoginEvent(object sender, LoginEventArgs e)
|
||||||
{
|
{
|
||||||
RunTime.Main?.OnAfterLoginEvent(e);
|
RunTime.Main?.OnAfterLoginEvent(sender, e);
|
||||||
return EventResult.Success;
|
RunTime.PluginLoader?.OnAfterLoginEvent(sender, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 加载插件
|
// 加载插件
|
||||||
LoadPlugins();
|
RunTime.Controller.LoadPlugins();
|
||||||
// 自动连接服务器
|
// 自动连接服务器
|
||||||
if (Config.FunGame_isAutoConnect) InvokeController_Connect();
|
if (Config.FunGame_isAutoConnect) InvokeController_Connect();
|
||||||
});
|
});
|
||||||
@ -82,6 +82,10 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
FailedConnect += FailedConnectEvent;
|
FailedConnect += FailedConnectEvent;
|
||||||
SucceedConnect += SucceedConnectEvent;
|
SucceedConnect += SucceedConnectEvent;
|
||||||
SucceedLogin += SucceedLoginEvent;
|
SucceedLogin += SucceedLoginEvent;
|
||||||
|
SucceedIntoRoom += SucceedIntoRoomEvent;
|
||||||
|
FailedIntoRoom += FailedIntoRoomEvent;
|
||||||
|
SucceedCreateRoom += SucceedCreateRoomEvent;
|
||||||
|
FailedCreateRoom += FailedCreateRoomEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -492,7 +496,7 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 重复处理加入房间的方法
|
/// 加入房间的具体处理方法
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="roomid"></param>
|
/// <param name="roomid"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
@ -505,17 +509,20 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
{
|
{
|
||||||
if (Usercfg.InRoom.Roomid == "-1")
|
if (Usercfg.InRoom.Roomid == "-1")
|
||||||
{
|
{
|
||||||
if (ShowMessage(ShowMessageType.YesNo, "已找到房间 -> [ " + roomid + " ]\n是否加入?", "已找到房间") == MessageResult.Yes)
|
if (await MainController.GetRoomPlayerCountAsync(roomid) < 8)
|
||||||
{
|
{
|
||||||
Room r = GetRoom(roomid);
|
if (ShowMessage(ShowMessageType.YesNo, "已找到房间 -> [ " + roomid + " ]\n是否加入?", "已找到房间") == MessageResult.Yes)
|
||||||
if (MainController != null && await MainController.IntoRoomAsync(r))
|
|
||||||
{
|
{
|
||||||
SetRoomid(r);
|
Room r = GetRoom(roomid);
|
||||||
InRoom();
|
return await InvokeController_IntoRoom(r);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ShowMessage(ShowMessageType.Warning, "房间已满,拒绝加入!");
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -719,7 +726,7 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
{
|
{
|
||||||
TaskUtility.StartAndAwaitTask(async () =>
|
TaskUtility.StartAndAwaitTask(async () =>
|
||||||
{
|
{
|
||||||
if (!await MainController.ChatAsync(" [ " + Usercfg.LoginUserName + " ] 说: " + text))
|
if (!await InvokeController_SendTalk(" [ " + Usercfg.LoginUserName + " ] 说: " + text))
|
||||||
{
|
{
|
||||||
WritelnGameInfo("联网消息发送失败。");
|
WritelnGameInfo("联网消息发送失败。");
|
||||||
}
|
}
|
||||||
@ -748,20 +755,13 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
ShowMessage(ShowMessageType.Warning, "已在房间中,无法创建房间。");
|
ShowMessage(ShowMessageType.Warning, "已在房间中,无法创建房间。");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
string roomid = await InvokeController_CreateRoom(RoomType, Password);
|
Room room = await InvokeController_CreateRoom(RoomType, Password);
|
||||||
if (MainController is not null && roomid != "-1")
|
if (MainController is not null && room.Roomid != "-1")
|
||||||
{
|
{
|
||||||
await MainController.UpdateRoomAsync();
|
await MainController.UpdateRoomAsync();
|
||||||
Room r = GetRoom(roomid);
|
await InvokeController_IntoRoom(room);
|
||||||
await InvokeController_IntoRoom(r);
|
|
||||||
SetRoomid(r);
|
|
||||||
InRoom();
|
|
||||||
WritelnGameInfo(DateTimeUtility.GetNowShortTime() + " 创建" + RoomType + "房间");
|
|
||||||
WritelnGameInfo(">> 创建" + RoomType + "房间成功!房间号: " + roomid);
|
|
||||||
ShowMessage(ShowMessageType.General, "创建" + RoomType + "房间成功!\n房间号是 -> [ " + roomid + " ]", "创建成功");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ShowMessage(ShowMessageType.General, "创建" + RoomType + "房间失败!", "创建失败");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -835,25 +835,6 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 加载所有插件
|
|
||||||
/// </summary>
|
|
||||||
private void LoadPlugins()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
PluginLoader.LoadPlugins(RunTime.Plugins);
|
|
||||||
foreach (KeyValuePair<string, BasePlugin> kv in RunTime.Plugins)
|
|
||||||
{
|
|
||||||
GetMessage("Load: " + kv.Value.Name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
GetMessage(e.GetErrorInfo(), TimeType.None);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 显示FunGame信息
|
/// 显示FunGame信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1112,13 +1093,13 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
bool IsMix = CheckMix.Checked;
|
bool IsMix = CheckMix.Checked;
|
||||||
bool IsTeam = CheckTeam.Checked;
|
bool IsTeam = CheckTeam.Checked;
|
||||||
bool IsHasPass = CheckHasPass.Checked;
|
bool IsHasPass = CheckHasPass.Checked;
|
||||||
if (IsMix && IsTeam && !IsHasPass) Config.FunGame_GameMode = GameMode.GameMode_All;
|
if (IsMix && IsTeam && !IsHasPass) Config.FunGame_GameMode = GameMode.All;
|
||||||
else if (IsMix && IsTeam && IsHasPass) Config.FunGame_GameMode = GameMode.GameMode_AllHasPass;
|
else if (IsMix && IsTeam && IsHasPass) Config.FunGame_GameMode = GameMode.AllHasPass;
|
||||||
else if (IsMix && !IsTeam && !IsHasPass) Config.FunGame_GameMode = GameMode.GameMode_Mix;
|
else if (IsMix && !IsTeam && !IsHasPass) Config.FunGame_GameMode = GameMode.Mix;
|
||||||
else if (IsMix && !IsTeam && IsHasPass) Config.FunGame_GameMode = GameMode.GameMode_MixHasPass;
|
else if (IsMix && !IsTeam && IsHasPass) Config.FunGame_GameMode = GameMode.MixHasPass;
|
||||||
else if (!IsMix && IsTeam && !IsHasPass) Config.FunGame_GameMode = GameMode.GameMode_Team;
|
else if (!IsMix && IsTeam && !IsHasPass) Config.FunGame_GameMode = GameMode.Team;
|
||||||
else if (!IsMix && IsTeam && IsHasPass) Config.FunGame_GameMode = GameMode.GameMode_TeamHasPass;
|
else if (!IsMix && IsTeam && IsHasPass) Config.FunGame_GameMode = GameMode.TeamHasPass;
|
||||||
else Config.FunGame_GameMode = GameMode.GameMode_All;
|
else Config.FunGame_GameMode = GameMode.All;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -1263,7 +1244,7 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public EventResult FailedConnectEvent(object sender, GeneralEventArgs e)
|
public void FailedConnectEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
// 自动重连
|
// 自动重连
|
||||||
if (Config.FunGame_isConnected && Config.FunGame_isAutoRetry && CurrentRetryTimes <= MaxRetryTimes)
|
if (Config.FunGame_isConnected && Config.FunGame_isAutoRetry && CurrentRetryTimes <= MaxRetryTimes)
|
||||||
@ -1276,7 +1257,6 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
GetMessage("连接服务器失败,5秒后自动尝试重连。");
|
GetMessage("连接服务器失败,5秒后自动尝试重连。");
|
||||||
}
|
}
|
||||||
else GetMessage("无法连接至服务器,请检查你的网络连接。");
|
else GetMessage("无法连接至服务器,请检查你的网络连接。");
|
||||||
return EventResult.Success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -1285,7 +1265,7 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public EventResult SucceedConnectEvent(object sender, GeneralEventArgs e)
|
public void SucceedConnectEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
// 创建MainController
|
// 创建MainController
|
||||||
MainController = new MainController(this);
|
MainController = new MainController(this);
|
||||||
@ -1294,7 +1274,6 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
// 自动登录
|
// 自动登录
|
||||||
RunTime.Controller?.AutoLogin(Config.FunGame_AutoLoginUser, Config.FunGame_AutoLoginPassword, Config.FunGame_AutoLoginKey);
|
RunTime.Controller?.AutoLogin(Config.FunGame_AutoLoginUser, Config.FunGame_AutoLoginPassword, Config.FunGame_AutoLoginKey);
|
||||||
}
|
}
|
||||||
return EventResult.Success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -1303,10 +1282,54 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private EventResult SucceedLoginEvent(object sender, GeneralEventArgs e)
|
private void SucceedLoginEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
TaskUtility.StartAndAwaitTask(SucceedLoginEvent_Handler);
|
TaskUtility.StartAndAwaitTask(SucceedLoginEvent_Handler);
|
||||||
return EventResult.Success;
|
}
|
||||||
|
|
||||||
|
/// <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)
|
||||||
|
{
|
||||||
|
SetRoomid(e.Room);
|
||||||
|
InRoom();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建房间失败后触发事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void FailedCreateRoomEvent(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)
|
||||||
|
{
|
||||||
|
SetRoomid(e.Room);
|
||||||
|
InRoom();
|
||||||
|
WritelnGameInfo(DateTimeUtility.GetNowShortTime() + " 创建" + e.RoomTypeString + "房间");
|
||||||
|
WritelnGameInfo(">> 创建" + e.RoomTypeString + "房间成功!房间号: " + e.RoomID);
|
||||||
|
ShowMessage(ShowMessageType.General, "创建" + e.RoomTypeString + "房间成功!\n房间号是 -> [ " + e.RoomID + " ]", "创建成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -1351,10 +1374,10 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
GameInfo.Clear();
|
GameInfo.Clear();
|
||||||
break;
|
break;
|
||||||
case Constant.FunGame_CreateMix:
|
case Constant.FunGame_CreateMix:
|
||||||
TaskUtility.StartAndAwaitTask(() => CreateRoom_Handler(GameMode.GameMode_Mix));
|
TaskUtility.StartAndAwaitTask(() => CreateRoom_Handler(GameMode.Mix));
|
||||||
break;
|
break;
|
||||||
case Constant.FunGame_CreateTeam:
|
case Constant.FunGame_CreateTeam:
|
||||||
TaskUtility.StartAndAwaitTask(() => CreateRoom_Handler(GameMode.GameMode_Team));
|
TaskUtility.StartAndAwaitTask(() => CreateRoom_Handler(GameMode.Team));
|
||||||
break;
|
break;
|
||||||
case Constant.FunGame_StartGame:
|
case Constant.FunGame_StartGame:
|
||||||
break;
|
break;
|
||||||
@ -1454,32 +1477,42 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private void InvokeController_Connect()
|
private void InvokeController_Connect()
|
||||||
{
|
{
|
||||||
try
|
ConnectEventArgs EventArgs = new(RunTime.Session.Server_IP, RunTime.Session.Server_Port);
|
||||||
{
|
|
||||||
ConnectEventArgs EventArgs = new(RunTime.Session.Server_IP, RunTime.Session.Server_Port);
|
|
||||||
ConnectResult result = ConnectResult.CanNotConnect;
|
|
||||||
|
|
||||||
TaskUtility.StartAndAwaitTask(() =>
|
ConnectResult result = ConnectResult.CanNotConnect;
|
||||||
{
|
|
||||||
if (OnBeforeConnectEvent(EventArgs) == EventResult.Fail) return;
|
TaskUtility.StartAndAwaitTask(() =>
|
||||||
result = RunTime.Controller?.Connect(RunTime.Session.Server_IP, RunTime.Session.Server_Port) ?? result;
|
|
||||||
EventArgs.ConnectResult = result;
|
|
||||||
}).OnCompleted(() =>
|
|
||||||
{
|
|
||||||
if (result == ConnectResult.Success) OnSucceedConnectEvent(EventArgs);
|
|
||||||
else OnFailedConnectEvent(EventArgs);
|
|
||||||
OnAfterConnectEvent(EventArgs);
|
|
||||||
}).OnError(e =>
|
|
||||||
{
|
|
||||||
GetMessage(e.GetErrorInfo(), TimeType.None);
|
|
||||||
UpdateUI(MainInvokeType.SetRed);
|
|
||||||
Config.FunGame_isRetrying = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
{
|
||||||
GetMessage(e.GetErrorInfo(), TimeType.None);
|
OnBeforeConnectEvent(this, EventArgs);
|
||||||
}
|
RunTime.PluginLoader?.OnBeforeConnectEvent(this, EventArgs);
|
||||||
|
if (EventArgs.Cancel) return;
|
||||||
|
result = RunTime.Controller?.Connect(RunTime.Session.Server_IP, RunTime.Session.Server_Port) ?? result;
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
OnAfterConnectEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterConnectEvent(this, EventArgs);
|
||||||
|
}).OnError(e =>
|
||||||
|
{
|
||||||
|
EventArgs.ConnectResult = ConnectResult.ConnectFailed;
|
||||||
|
GetMessage(e.InnerException?.ToString() ?? e.ToString(), TimeType.None);
|
||||||
|
UpdateUI(MainInvokeType.SetRed);
|
||||||
|
Config.FunGame_isRetrying = false;
|
||||||
|
OnFailedConnectEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedConnectEvent(this, EventArgs);
|
||||||
|
OnAfterConnectEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterConnectEvent(this, EventArgs);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -1488,13 +1521,18 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public void InvokeController_Disconnect()
|
public void InvokeController_Disconnect()
|
||||||
{
|
{
|
||||||
|
GeneralEventArgs EventArgs = new();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
TaskUtility.StartAndAwaitTask(async () =>
|
TaskUtility.StartAndAwaitTask(async () =>
|
||||||
{
|
{
|
||||||
if (OnBeforeDisconnectEvent(new GeneralEventArgs()) == EventResult.Fail) return;
|
OnBeforeDisconnectEvent(this, EventArgs);
|
||||||
|
if (EventArgs.Cancel) return;
|
||||||
|
RunTime.PluginLoader?.OnBeforeDisconnectEvent(this, EventArgs);
|
||||||
|
if (EventArgs.Cancel) return;
|
||||||
|
|
||||||
if (Usercfg.LoginUser.Id != 0)
|
if (Usercfg.LoginUser.Id != 0)
|
||||||
{
|
{
|
||||||
@ -1504,17 +1542,73 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
result = RunTime.Controller?.Disconnect() ?? false;
|
result = RunTime.Controller?.Disconnect() ?? false;
|
||||||
}).OnCompleted(() =>
|
}).OnCompleted(() =>
|
||||||
{
|
{
|
||||||
if (result) OnSucceedDisconnectEvent(new GeneralEventArgs());
|
if (result)
|
||||||
else OnFailedDisconnectEvent(new GeneralEventArgs());
|
{
|
||||||
OnAfterDisconnectEvent(new GeneralEventArgs());
|
OnSucceedDisconnectEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnSucceedDisconnectEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OnFailedDisconnectEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedDisconnectEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
OnAfterDisconnectEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterDisconnectEvent(this, EventArgs);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
GetMessage(e.GetErrorInfo(), TimeType.None);
|
GetMessage(e.GetErrorInfo(), TimeType.None);
|
||||||
|
OnFailedDisconnectEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedDisconnectEvent(this, EventArgs);
|
||||||
|
OnAfterDisconnectEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterDisconnectEvent(this, EventArgs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 发送聊天信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="msg"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<bool> InvokeController_SendTalk(string msg)
|
||||||
|
{
|
||||||
|
SendTalkEventArgs EventArgs = new(msg);
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
OnBeforeSendTalkEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnBeforeSendTalkEvent(this, EventArgs);
|
||||||
|
if (EventArgs.Cancel) return result;
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
OnAfterSendTalkEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterSendTalkEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
GetMessage(e.GetErrorInfo(), TimeType.None);
|
||||||
|
OnFailedSendTalkEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedSendTalkEvent(this, EventArgs);
|
||||||
|
OnAfterSendTalkEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterSendTalkEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 进入房间
|
/// 进入房间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1522,53 +1616,88 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<bool> InvokeController_IntoRoom(Room room)
|
public async Task<bool> InvokeController_IntoRoom(Room room)
|
||||||
{
|
{
|
||||||
|
RoomEventArgs EventArgs = new(room);
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
RoomEventArgs EventArgs = new(room);
|
OnBeforeIntoRoomEvent(this, EventArgs);
|
||||||
if (OnBeforeIntoRoomEvent(EventArgs) == EventResult.Fail) return result;
|
RunTime.PluginLoader?.OnBeforeIntoRoomEvent(this, EventArgs);
|
||||||
|
if (EventArgs.Cancel) return result;
|
||||||
|
|
||||||
result = MainController is not null && await MainController.IntoRoomAsync(room);
|
result = MainController is not null && await MainController.IntoRoomAsync(room);
|
||||||
|
|
||||||
if (result) OnSucceedIntoRoomEvent(EventArgs);
|
if (room.Roomid != "-1")
|
||||||
else OnFailedIntoRoomEvent(EventArgs);
|
{
|
||||||
OnAfterIntoRoomEvent(EventArgs);
|
if (result)
|
||||||
|
{
|
||||||
|
OnSucceedIntoRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnSucceedIntoRoomEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OnFailedIntoRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedIntoRoomEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
OnAfterIntoRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterIntoRoomEvent(this, EventArgs);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
GetMessage(e.GetErrorInfo(), TimeType.None);
|
GetMessage(e.GetErrorInfo(), TimeType.None);
|
||||||
|
OnFailedIntoRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedIntoRoomEvent(this, EventArgs);
|
||||||
|
OnAfterIntoRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterIntoRoomEvent(this, EventArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建房间
|
/// 创建房间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="room"></param>
|
/// <param name="room"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<string> InvokeController_CreateRoom(string RoomType, string Password = "")
|
public async Task<Room> InvokeController_CreateRoom(string RoomType, string Password = "")
|
||||||
{
|
{
|
||||||
string roomid = "-1";
|
RoomEventArgs EventArgs = new(RoomType, Password);
|
||||||
|
Room room = General.HallInstance;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
RoomEventArgs EventArgs = new(RoomType, Password);
|
OnBeforeCreateRoomEvent(this, EventArgs);
|
||||||
if (OnBeforeCreateRoomEvent(EventArgs) == EventResult.Fail) return roomid;
|
if (EventArgs.Cancel) return room;
|
||||||
|
RunTime.PluginLoader?.OnBeforeCreateRoomEvent(this, EventArgs);
|
||||||
|
if (EventArgs.Cancel) return room;
|
||||||
|
|
||||||
roomid = MainController is null ? "-1" : await MainController.CreateRoomAsync(RoomType, Password);
|
room = MainController is null ? room : await MainController.CreateRoomAsync(RoomType, Password);
|
||||||
|
|
||||||
if (roomid != "-1") OnSucceedCreateRoomEvent(EventArgs);
|
if (room.Roomid != "-1")
|
||||||
else OnFailedCreateRoomEvent(EventArgs);
|
{
|
||||||
OnAfterCreateRoomEvent(EventArgs);
|
EventArgs = new(room);
|
||||||
|
OnSucceedCreateRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnSucceedCreateRoomEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OnFailedCreateRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedCreateRoomEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
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);
|
||||||
|
RunTime.PluginLoader?.OnFailedCreateRoomEvent(this, EventArgs);
|
||||||
|
OnAfterCreateRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterCreateRoomEvent(this, EventArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
return roomid;
|
return room;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -1578,22 +1707,37 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<bool> InvokeController_QuitRoom(Room room, bool isMaster)
|
public async Task<bool> InvokeController_QuitRoom(Room room, bool isMaster)
|
||||||
{
|
{
|
||||||
|
RoomEventArgs EventArgs = new(room);
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
RoomEventArgs EventArgs = new(room);
|
OnBeforeIntoRoomEvent(this, EventArgs);
|
||||||
if (OnBeforeIntoRoomEvent(EventArgs) == EventResult.Fail) return result;
|
RunTime.PluginLoader?.OnBeforeIntoRoomEvent(this, EventArgs);
|
||||||
|
if (EventArgs.Cancel) return result;
|
||||||
|
|
||||||
result = MainController is not null && await MainController.QuitRoomAsync(room.Roomid, isMaster);
|
result = MainController is not null && await MainController.QuitRoomAsync(room.Roomid, isMaster);
|
||||||
|
|
||||||
if (result) OnSucceedIntoRoomEvent(EventArgs);
|
if (result)
|
||||||
else OnFailedIntoRoomEvent(EventArgs);
|
{
|
||||||
OnAfterIntoRoomEvent(EventArgs);
|
OnSucceedQuitRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnSucceedQuitRoomEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OnFailedQuitRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedQuitRoomEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
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);
|
||||||
|
RunTime.PluginLoader?.OnFailedQuitRoomEvent(this, EventArgs);
|
||||||
|
OnAfterQuitRoomEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterQuitRoomEvent(this, EventArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -1605,31 +1749,45 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<bool> LogOut()
|
public async Task<bool> LogOut()
|
||||||
{
|
{
|
||||||
|
GeneralEventArgs EventArgs = new();
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
GeneralEventArgs EventArgs = new();
|
OnBeforeLogoutEvent(this, EventArgs);
|
||||||
if (OnBeforeLogoutEvent(EventArgs) == EventResult.Fail) return result;
|
RunTime.PluginLoader?.OnBeforeLogoutEvent(this, EventArgs);
|
||||||
|
if (EventArgs.Cancel) return result;
|
||||||
|
|
||||||
if (Usercfg.LoginUser.Id == 0) return result;
|
if (Usercfg.LoginUser.Id == 0) return result;
|
||||||
|
|
||||||
if (Usercfg.InRoom.Roomid != "-1")
|
if (Usercfg.InRoom.Roomid != "-1")
|
||||||
{
|
{
|
||||||
string roomid = Usercfg.InRoom.Roomid;
|
|
||||||
bool isMaster = Usercfg.InRoom.RoomMaster?.Id == Usercfg.LoginUser?.Id;
|
bool isMaster = Usercfg.InRoom.RoomMaster?.Id == Usercfg.LoginUser?.Id;
|
||||||
MainController?.QuitRoomAsync(roomid, isMaster);
|
await InvokeController_QuitRoom(Usercfg.InRoom, isMaster);
|
||||||
}
|
}
|
||||||
|
|
||||||
result = MainController is not null && await MainController.LogOutAsync();
|
result = MainController is not null && await MainController.LogOutAsync();
|
||||||
|
|
||||||
if (result) OnSucceedLogoutEvent(EventArgs);
|
if (result)
|
||||||
else OnFailedLogoutEvent(EventArgs);
|
{
|
||||||
OnAfterLogoutEvent(EventArgs);
|
OnSucceedLogoutEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnSucceedLogoutEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OnFailedLogoutEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnFailedLogoutEvent(this, EventArgs);
|
||||||
|
}
|
||||||
|
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);
|
||||||
|
RunTime.PluginLoader?.OnFailedLogoutEvent(this, EventArgs);
|
||||||
|
OnAfterLogoutEvent(this, EventArgs);
|
||||||
|
RunTime.PluginLoader?.OnAfterLogoutEvent(this, EventArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
using Milimoe.FunGame.Core.Api.Utility;
|
using Milimoe.FunGame.Core.Api.Utility;
|
||||||
using Milimoe.FunGame.Core.Library.Common.Event;
|
using Milimoe.FunGame.Core.Library.Common.Event;
|
||||||
using Milimoe.FunGame.Core.Library.Constant;
|
|
||||||
using Milimoe.FunGame.Core.Library.Exception;
|
using Milimoe.FunGame.Core.Library.Exception;
|
||||||
using Milimoe.FunGame.Desktop.Controller;
|
using Milimoe.FunGame.Desktop.Controller;
|
||||||
using Milimoe.FunGame.Desktop.Library;
|
using Milimoe.FunGame.Desktop.Library;
|
||||||
@ -112,19 +111,18 @@ namespace Milimoe.FunGame.Desktop.UI
|
|||||||
Dispose();
|
Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
private EventResult SucceedRegEvent(object sender, GeneralEventArgs e)
|
private void SucceedRegEvent(object sender, GeneralEventArgs e)
|
||||||
{
|
{
|
||||||
string username = ((RegisterEventArgs)e).Username;
|
string username = ((RegisterEventArgs)e).Username;
|
||||||
string password = ((RegisterEventArgs)e).Password;
|
string password = ((RegisterEventArgs)e).Password;
|
||||||
TaskUtility.StartAndAwaitTask(async () => await LoginController.LoginAccountAsync(username, password, encrypt: false));
|
TaskUtility.StartAndAwaitTask(async () => await LoginController.LoginAccountAsync(username, password, encrypt: false));
|
||||||
RunTime.Login?.Close();
|
RunTime.Login?.Close();
|
||||||
return EventResult.Success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RegButton_Click(object sender, EventArgs e)
|
private void RegButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
RegButton.Enabled = false;
|
RegButton.Enabled = false;
|
||||||
TaskUtility.StartAndAwaitTask(async() =>
|
TaskUtility.StartAndAwaitTask(async () =>
|
||||||
{
|
{
|
||||||
if (!await Reg_Handler()) RegButton.Enabled = true;
|
if (!await Reg_Handler()) RegButton.Enabled = true;
|
||||||
else Close();
|
else Close();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user