public InitializePlayerNameOnSpawnEventListener(IEntityWorldObjectCreatedEventSubscribable subscriptionService, [NotNull] INameQueryService nameQueryService, [NotNull] ILog logger) : base(subscriptionService) { NameQueryService = nameQueryService ?? throw new ArgumentNullException(nameof(nameQueryService)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
/// <inheritdoc /> public CharacterSelectionCharacterButtonDataInitOnEntryChangedEventListener( [NotNull] ICharacterSelectionEntryDataChangeEventSubscribable subscriptionService, [NotNull] INameQueryService nameQueryService, [KeyFilter(UnityUIRegisterationKey.CharacterSelection)][NotNull] IReadOnlyCollection <IUILabeledButton> characterButtons) : base(subscriptionService) { NameQueryService = nameQueryService ?? throw new ArgumentNullException(nameof(nameQueryService)); CharacterButtons = characterButtons ?? throw new ArgumentNullException(nameof(characterButtons)); }
public InitializeLocalPlayerGuildNameEventListener(IReadonlyLocalPlayerDetails playerDetails, IGuildStatusChangedEventSubscribable subscriptionService, [NotNull][KeyFilter(UnityUIRegisterationKey.GuildList)] IUIText guildNameText, [NotNull] INameQueryService nameQueryService) : base(subscriptionService, playerDetails) { GuildNameText = guildNameText ?? throw new ArgumentNullException(nameof(guildNameText)); NameQueryService = nameQueryService ?? throw new ArgumentNullException(nameof(nameQueryService)); }
public GuildMemberInviteRequestModelHandler([JetBrains.Annotations.NotNull] ISocialService socialService, [JetBrains.Annotations.NotNull] ILogger <GuildMemberInviteRequestModelHandler> logger, [JetBrains.Annotations.NotNull] INameQueryService nameQueryService, [JetBrains.Annotations.NotNull] IEntityGuidMappable <PendingGuildInviteData> pendingInviteData) { SocialService = socialService ?? throw new ArgumentNullException(nameof(socialService)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); NameQueryService = nameQueryService ?? throw new ArgumentNullException(nameof(nameQueryService)); PendingInviteData = pendingInviteData ?? throw new ArgumentNullException(nameof(pendingInviteData)); }
public PostGuildInviteToChatBoxEventListener(IGuildMemberInviteEventEventSubscribable subscriptionService, INameQueryService nameQueryService, [NotNull] IEntityNameQueryable entityNameQueryable, [NotNull] IChatTextMessageRecievedEventPublisher textChatPublisher) : base(subscriptionService) { NameQueryService = nameQueryService; EntityNameQueryable = entityNameQueryable ?? throw new ArgumentNullException(nameof(entityNameQueryable)); TextChatPublisher = textChatPublisher ?? throw new ArgumentNullException(nameof(textChatPublisher)); }
/// <inheritdoc /> public void AddService(TEntityEnumType type, INameQueryService service) { if (type == null) { throw new ArgumentNullException(nameof(type)); } //TODO: If a resolved service goes offline we may want to change or update this?? //Not threadsafe and we just replace. QueryServices[type] = service ?? throw new ArgumentNullException(nameof(service)); }
/// <inheritdoc /> public LocalPlayerSpawnedPlayerNameNameplateUpdateEventListener([NotNull] ILocalPlayerSpawnedEventSubscribable subscriptionService, [NotNull][KeyFilter(UnityUIRegisterationKey.PlayerUnitFrame)] IUIText playerNameTextField, [NotNull] INameQueryService nameQueryable) : base(subscriptionService) { if (subscriptionService == null) { throw new ArgumentNullException(nameof(subscriptionService)); } PlayerNameTextField = playerNameTextField ?? throw new ArgumentNullException(nameof(playerNameTextField)); NameQueryable = nameQueryable ?? throw new ArgumentNullException(nameof(nameQueryable)); }
public PopupGuildInviteWindowEventListener(IGuildMemberInviteEventEventSubscribable subscriptionService, [KeyFilter(UnityUIRegisterationKey.InvitedToGuildWindow)][NotNull] IUIGuildInviteWindow guildInviteWindow, INameQueryService nameQueryService, [NotNull] IEntityNameQueryable entityNameQueryable, [NotNull] IRemoteSocialHubServer socialHub) : base(subscriptionService) { GuildInviteWindow = guildInviteWindow ?? throw new ArgumentNullException(nameof(guildInviteWindow)); NameQueryService = nameQueryService; EntityNameQueryable = entityNameQueryable ?? throw new ArgumentNullException(nameof(entityNameQueryable)); SocialHub = socialHub ?? throw new ArgumentNullException(nameof(socialHub)); //Here we rig up the decline and accept invite buttons guildInviteWindow.AcceptInviteButton.AddOnClickListener(() => SocialHub.SendGuildInviteEventResponseAsync(new PendingGuildInviteHandleRequest(true))); guildInviteWindow.DeclineInviteButton.AddOnClickListener(() => SocialHub.SendGuildInviteEventResponseAsync(new PendingGuildInviteHandleRequest(false))); }
public async Task <IActionResult> TryAddFriend([FromRoute(Name = "name")][JetBrains.Annotations.NotNull] string characterFriendName, [FromServices][JetBrains.Annotations.NotNull] ICharacterFriendRepository friendsRepository, [FromServices][JetBrains.Annotations.NotNull] ISocialServiceToGameServiceClient socialServiceClient, [FromServices] INameQueryService nameQueryService) { if (friendsRepository == null) { throw new ArgumentNullException(nameof(friendsRepository)); } if (socialServiceClient == null) { throw new ArgumentNullException(nameof(socialServiceClient)); } if (string.IsNullOrEmpty(characterFriendName)) { throw new ArgumentException("Value cannot be null or empty.", nameof(characterFriendName)); } //Find the character CharacterSessionDataResponse response = await socialServiceClient.GetCharacterSessionDataByAccount(ClaimsReader.GetAccountIdInt(User)); if (response.ResultCode == CharacterSessionDataResponseCode.NoSessionAvailable) { return(BadRequest()); } var nameReverseQueryResponse = await nameQueryService.RetrievePlayerGuidAsync(characterFriendName); //Handle known failure cases first. switch (nameReverseQueryResponse.ResultCode) { case NameQueryResponseCode.UnknownIdError: return(BuildFailedResponseModel(CharacterFriendAddResponseCode.CharacterNotFound)); case NameQueryResponseCode.GeneralServerError: return(BuildFailedResponseModel(CharacterFriendAddResponseCode.GeneralServerError)); } //If the player is trying to add himself, just say not found if (nameReverseQueryResponse.Result.EntityId == response.CharacterId) { return(BuildFailedResponseModel(CharacterFriendAddResponseCode.CharacterNotFound)); } //Ok, reverse namequery is a success //now we must check some stuff //Already friends check if (await friendsRepository.IsFriendshipPresentAsync(response.CharacterId, nameReverseQueryResponse.Result.EntityId)) { return(BuildFailedResponseModel(CharacterFriendAddResponseCode.AlreadyFriends)); } if (await friendsRepository.TryCreateAsync(new CharacterFriendModel(response.CharacterId, nameReverseQueryResponse.Result.EntityId))) { //This is a success, let's tell them about who they added. return(BuildSuccessfulResponseModel(new CharacterFriendAddResponseModel(nameReverseQueryResponse.Result))); } else { return(BuildFailedResponseModel(CharacterFriendAddResponseCode.GeneralServerError)); } }
/// <inheritdoc /> public CachedNameQueryServiceDecorator(INameQueryService nameQueryService) { NameQueryService = nameQueryService ?? throw new ArgumentNullException(nameof(nameQueryService)); }
/// <summary> /// Queries for a <see cref="EntityNameQueryResponse"/> from the provided <see cref="guid"/>. /// </summary> /// <param name="service">The name query service.</param> /// <param name="guid">The entity guid.</param> /// <returns>A query response.</returns> public static Task <EntityNameQueryResponse> QueryEntityNameAsync <TObjectGuidType>(this INameQueryService service, TObjectGuidType guid, CancellationToken token = default) where TObjectGuidType : BaseGuid { if (service == null) { throw new ArgumentNullException(nameof(service)); } //We just simply forward this with the raw value. return(service.QueryEntityNameAsync(guid.RawValue, token)); }
/// <inheritdoc /> public CacheableEntityNameQueryable([NotNull] INameQueryService nameServiceQueryable) { NameServiceQueryable = nameServiceQueryable ?? throw new ArgumentNullException(nameof(nameServiceQueryable)); }