public LogOutRunescapeClientOnDisconnectEventListener(INetworkClientDisconnectedEventSubscribable subscriptionService,
                                                       [JetBrains.Annotations.NotNull] IGameContextEventQueueable contextQueueable,
                                                       [JetBrains.Annotations.NotNull] RsUnityClient client)
     : base(subscriptionService)
 {
     Console.WriteLine($"Created LogOutRunescapeClientOnDisconnectEventListener");
     ContextQueueable = contextQueueable ?? throw new ArgumentNullException(nameof(contextQueueable));
     Client           = client ?? throw new ArgumentNullException(nameof(client));
 }
 public AuthenticateOnLoginButtonClickEventListener(ILoginButtonClickedEventSubscribable subscriptionService,
                                                    IAuthenticationService authService,
                                                    [KeyFilter(ClientUIDependencyKey.UserName)] IUIText userNameField,
                                                    [KeyFilter(ClientUIDependencyKey.Password)] IUIText passwordField,
                                                    ILog logger,
                                                    IGameContextEventQueueable gameQueueable,
                                                    [NotNull] IAuthTokenRepository authTokenRepository)
     : base(subscriptionService)
 {
     AuthService         = authService ?? throw new ArgumentNullException(nameof(authService));
     UserNameField       = userNameField;
     PasswordField       = passwordField;
     Logger              = logger ?? throw new ArgumentNullException(nameof(logger));
     GameQueueable       = gameQueueable ?? throw new ArgumentNullException(nameof(gameQueueable));
     AuthTokenRepository = authTokenRepository ?? throw new ArgumentNullException(nameof(authTokenRepository));
 }
 public OnConnectionEstablishedClaimSessionEventListener(INetworkConnectionEstablishedEventSubscribable subscriptionService,
                                                         [NotNull] IPeerPayloadSendService <GameClientPacketPayload> sendService,
                                                         [NotNull] IReadonlyAuthTokenRepository authTokenRepository,
                                                         [NotNull] ILocalCharacterDataRepository characterDataRepository,
                                                         [NotNull] ICharacterService characterService,
                                                         [JetBrains.Annotations.NotNull] ILog logger,
                                                         [JetBrains.Annotations.NotNull] IGameContextEventQueueable eventQueueable)
     : base(subscriptionService)
 {
     SendService             = sendService ?? throw new ArgumentNullException(nameof(sendService));
     AuthTokenRepository     = authTokenRepository ?? throw new ArgumentNullException(nameof(authTokenRepository));
     CharacterDataRepository = characterDataRepository ?? throw new ArgumentNullException(nameof(characterDataRepository));
     CharacterService        = characterService ?? throw new ArgumentNullException(nameof(characterService));
     Logger         = logger ?? throw new ArgumentNullException(nameof(logger));
     EventQueueable = eventQueueable ?? throw new ArgumentNullException(nameof(eventQueueable));
 }