예제 #1
0
 public RequestInviteGuildMemberEventListener(IInviteGuildMemberModalClickedEventSubscribable subscriptionService,
                                              [NotNull][KeyFilter(UnityUIRegisterationKey.AddGuildMemberModalWindow)] IUIButton inviteGuildMemberButton,
                                              [NotNull][KeyFilter(UnityUIRegisterationKey.AddGuildMemberModalWindow)] IUIElement guildInviteModalWindow,
                                              [NotNull][KeyFilter(UnityUIRegisterationKey.AddGuildMemberModalWindow)] IUIText guildInviteInputText,
                                              [NotNull] ILog logger,
                                              [NotNull] IRemoteSocialHubServer realtimeSocialConnection)
     : base(subscriptionService)
 {
     InviteGuildMemberButton = inviteGuildMemberButton ?? throw new ArgumentNullException(nameof(inviteGuildMemberButton));
     GuildInviteModalWindow  = guildInviteModalWindow;
     GuildInviteInputText    = guildInviteInputText ?? throw new ArgumentNullException(nameof(guildInviteInputText));
     Logger = logger ?? throw new ArgumentNullException(nameof(logger));
     RealtimeSocialConnection = realtimeSocialConnection ?? throw new ArgumentNullException(nameof(realtimeSocialConnection));
 }
예제 #2
0
        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)));
        }