private void DeniedMessageHandlerOnLoginFailureReceived(LoginDeniedMessageHandler sender, LoginFailedArgs args) { string message; switch (args.Reason) { case LoginFailedReason.InvalidLoginData: message = $"[Ungültige Logindaten] {args.ReasonText}"; break; case LoginFailedReason.Banned: message = $"[Account gebannt] {args.ReasonText}"; break; case LoginFailedReason.UserNameAlreadyInUse: message = $"[Accountname bereits vergeben] {args.ReasonText}"; break; case LoginFailedReason.AccountAlreadyLoggedIn: message = $"[Account bereits in Benutzung] {args.ReasonText}"; break; default: throw new ArgumentOutOfRangeException(); } LoginDenied?.Invoke(this, new LoginDeniedArgs(message)); }
public Login(LoginPacketWriter loginPacketWriter, ScriptMessageSender messageSender, LoginDeniedMessageHandler deniedMessageHandler, LoginAcknowledgedMessageHandler loginAcknowledgedMessage, LogoutAcknowledgeMessageHandler logoutMessageHandler) { if (deniedMessageHandler == null) { throw new ArgumentNullException(nameof(deniedMessageHandler)); } if (loginAcknowledgedMessage == null) { throw new ArgumentNullException(nameof(loginAcknowledgedMessage)); } if (logoutMessageHandler == null) { throw new ArgumentNullException(nameof(logoutMessageHandler)); } deniedMessageHandler.LoginFailureReceived += DeniedMessageHandlerOnLoginFailureReceived; loginAcknowledgedMessage.LoginAcknowledgementReceived += sender => LoginAcknowledged?.Invoke(this, new LoginAcknowledgedArgs()); logoutMessageHandler.LogoutAcknowledgmentReceived += sender => LoggedOut?.Invoke(this); _LoginPacketWriter = loginPacketWriter ?? throw new ArgumentNullException(nameof(loginPacketWriter)); _MessageSender = messageSender ?? throw new ArgumentNullException(nameof(messageSender)); }