//------------------------------------------------------------ // Game Framework // Copyright © 2013-2021 loyalsoft. All rights reserved. // Homepage: http://www.game7000.com/ // Feedback: http://www.game7000.com/ //------------------------------------------------------------ using GameFramework; using GameFramework.Event; using GameFramework.Network; using System.Net.Sockets; namespace UnityGameFramework.Runtime { /// /// 网络错误事件。 /// public sealed class NetworkErrorEventArgs : GameEventArgs { /// /// 网络错误事件编号。 /// public static readonly int EventId = typeof(NetworkErrorEventArgs).GetHashCode(); /// /// 初始化网络错误事件的新实例。 /// public NetworkErrorEventArgs() { NetworkChannel = null; ErrorCode = NetworkErrorCode.Unknown; ErrorMessage = null; } /// /// 获取网络错误事件编号。 /// public override int Id { get { return EventId; } } /// /// 获取网络频道。 /// public INetworkChannel NetworkChannel { get; private set; } /// /// 获取错误码。 /// public NetworkErrorCode ErrorCode { get; private set; } /// /// 获取 Socket 错误码。 /// public SocketError SocketErrorCode { get; private set; } /// /// 获取错误信息。 /// public string ErrorMessage { get; private set; } /// /// 创建网络错误事件。 /// /// 内部事件。 /// 创建的网络错误事件。 public static NetworkErrorEventArgs Create(GameFramework.Network.NetworkErrorEventArgs e) { NetworkErrorEventArgs networkErrorEventArgs = ReferencePool.Acquire(); networkErrorEventArgs.NetworkChannel = e.NetworkChannel; networkErrorEventArgs.ErrorCode = e.ErrorCode; networkErrorEventArgs.SocketErrorCode = e.SocketErrorCode; networkErrorEventArgs.ErrorMessage = e.ErrorMessage; return networkErrorEventArgs; } /// /// 清理网络错误事件。 /// public override void Clear() { NetworkChannel = null; ErrorCode = NetworkErrorCode.Unknown; ErrorMessage = null; } } }