添加ConnectEventArgs #4

This commit is contained in:
milimoe 2023-04-01 13:17:51 +08:00 committed by GitHub
commit 2c44ff2152
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 4 deletions

View File

@ -16,15 +16,20 @@ namespace Milimoe.FunGame.Core.Interface
public interface IConnectEventHandler : IEventHandler public interface IConnectEventHandler : IEventHandler
{ {
public new delegate EventResult BeforeEventHandler(object sender, ConnectEventArgs e);
public new delegate EventResult AfterEventHandler(object sender, ConnectEventArgs e);
public new delegate EventResult SucceedEventHandler(object sender, ConnectEventArgs e);
public new delegate EventResult FailedEventHandler(object sender, ConnectEventArgs e);
public event BeforeEventHandler? BeforeConnect; public event BeforeEventHandler? BeforeConnect;
public event AfterEventHandler? AfterConnect; public event AfterEventHandler? AfterConnect;
public event SucceedEventHandler? SucceedConnect; public event SucceedEventHandler? SucceedConnect;
public event FailedEventHandler? FailedConnect; public event FailedEventHandler? FailedConnect;
public EventResult OnBeforeConnectEvent(GeneralEventArgs e); public EventResult OnBeforeConnectEvent(ConnectEventArgs e);
public EventResult OnAfterConnectEvent(GeneralEventArgs e); public EventResult OnAfterConnectEvent(ConnectEventArgs e);
public EventResult OnSucceedConnectEvent(GeneralEventArgs e); public EventResult OnSucceedConnectEvent(ConnectEventArgs e);
public EventResult OnFailedConnectEvent(GeneralEventArgs e); public EventResult OnFailedConnectEvent(ConnectEventArgs e);
} }
public interface IDisconnectEventHandler : IEventHandler public interface IDisconnectEventHandler : IEventHandler

View File

@ -6,6 +6,16 @@ namespace Milimoe.FunGame.Core.Library.Common.Architecture
{ {
public class BaseModel : ISocketHandler, IDisposable public class BaseModel : ISocketHandler, IDisposable
{ {
/// <summary>
/// 接收到的SocketObject实例
/// </summary>
protected virtual SocketObject Work { get; set; }
/// <summary>
/// 是否处于等待服务器响应的状态
/// </summary>
protected virtual bool Working { get; set; } = false;
/// <summary> /// <summary>
/// Socket /// Socket
/// </summary> /// </summary>
@ -63,5 +73,14 @@ namespace Milimoe.FunGame.Core.Library.Common.Architecture
} }
IsDisposed = true; IsDisposed = true;
} }
/// <summary>
/// 调用Socket.Send()前,请设置为等待状态
/// </summary>
protected void SetWorking()
{
Working = true;
Work = default;
}
} }
} }

View File

@ -0,0 +1,17 @@
namespace Milimoe.FunGame.Core.Library.Common.Event
{
public class ConnectEventArgs : GeneralEventArgs
{
public string ServerIP { get; set; } = "";
public string ServerPort { get; set; } = "";
public ConnectEventArgs(params object[]? objs)
{
if (objs != null)
{
if (objs.Length > 0) ServerIP = (string)objs[0];
if (objs.Length > 1) ServerPort = (string)objs[1];
}
}
}
}