Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }