public PluginDownloadEventArgs(PluginDownloadMessage message) { Message = message; }
/// <summary> /// Handles an unconnected message, usually from the auth server. /// </summary> private void HandleUnconnectedMessage(NetIncomingMessage im) { if (im == null) { throw new ArgumentNullException(nameof(im)); } // Make sure the unconnected message is coming from the real auth server. if (Equals(im.SenderEndPoint, networkManager.AuthEndpoint) && im.SenderEndPoint.Port == Globals.Values.DefaultAuthPort) { var messageType = (MessageTypes)im.ReadByte(); // Find the type of data message sent switch (messageType) { case MessageTypes.AuthInit: { var msg = new AuthInitMessage(im, MessageContext.Client); networkManager.Client.Events.Network.Auth.InitReceived.Invoke( new EventManager.NetEvents.AuthServerEvents.InitEventArgs(msg.Username, msg.UUID, msg.PrivateKey, msg.PublicKey)); break; } case MessageTypes.FailedLogin: { var msg = new FailedLoginMessage(im, MessageContext.Client); networkManager.Client.Events.Network.Auth.FailedLogin.Invoke( new EventManager.NetEvents.AuthServerEvents.FailedLoginEventArgs(msg.ErrorMessage)); break; } case MessageTypes.Verified: { var msg = new VerifiedMessage(im, MessageContext.Client); networkManager.Client.Events.Network.Auth.Verified.Invoke( new EventManager.NetEvents.AuthServerEvents.VerifiedEventArgs(msg.Verified)); break; } case MessageTypes.PluginDownload: { var msg = new PluginDownloadMessage(im, MessageContext.Client); networkManager.Client.Events.Network.Auth.PluginDownloadRequested.Invoke( new EventManager.NetEvents.AuthServerEvents.PluginDownloadEventArgs(msg)); break; } } } else // Message not from auth server, instead from a game server { var messageType = (MessageTypes)im.ReadByte(); // Find the type of data message sent switch (messageType) { case MessageTypes.ServerInfo: { var msg = new ServerInfoMessage(im, MessageContext.Client); networkManager.Client.Events.Network.Game.ServerInfoReceived.Invoke( new EventManager.NetEvents.GameServerEvents.ServerInfoEventArgs(msg.Description, msg.Players, msg.MaxPlayers, im.SenderEndPoint)); break; } } } }