示例#1
0
        public TargetUnitFrameUIControllerEventListener(ILocalPlayerSpawnedEventSubscribable subscriptionService,
                                                        IEntityDataChangeCallbackRegisterable entityDataCallbackRegister,
                                                        IReadonlyLocalPlayerDetails playerDetails,
                                                        [NotNull][KeyFilter(UnityUIRegisterationKey.TargetUnitFrame)] IUIUnitFrame targetUnitFrame,
                                                        [NotNull] ILog logger,
                                                        INetworkEntityVisibilityLostEventSubscribable networkVisibilityLostSubscriptionService,
                                                        [NotNull] IPeerPayloadSendService <GameClientPacketPayload> sendService)
            : base(subscriptionService, entityDataCallbackRegister, playerDetails)
        {
            TargetUnitFrame = targetUnitFrame ?? throw new ArgumentNullException(nameof(targetUnitFrame));
            Logger          = logger ?? throw new ArgumentNullException(nameof(logger));
            SendService     = sendService ?? throw new ArgumentNullException(nameof(sendService));

            //Subscribe to when the target actually disappears.
            networkVisibilityLostSubscriptionService.OnNetworkEntityVisibilityLost += (sender, args) =>
            {
                UnityAsyncHelper.UnityMainThreadContext.Post(o =>
                {
                    //This should be safe, we're checking if it was the current target still
                    //user may have clicked on something else but this should be safe this way.
                    if (args.EntityGuid == this.CurrentTarget)
                    {
                        OnPlayerTargetDisappeared();
                    }
                }, null);
            };
        }
示例#2
0
 /// <inheritdoc />
 protected DataChangedLocalPlayerSpawnedEventListener(ILocalPlayerSpawnedEventSubscribable subscriptionService,
                                                      [NotNull] IEntityDataChangeCallbackRegisterable entityDataCallbackRegister,
                                                      [NotNull] IReadonlyLocalPlayerDetails playerDetails)
     : base(subscriptionService)
 {
     EntityDataCallbackRegister = entityDataCallbackRegister ?? throw new ArgumentNullException(nameof(entityDataCallbackRegister));
     PlayerDetails = playerDetails ?? throw new ArgumentNullException(nameof(playerDetails));
 }
示例#3
0
 /// <inheritdoc />
 public LocalPlayerSpawnedLevelChangeEventListener(ILocalPlayerSpawnedEventSubscribable subscriptionService,
                                                   IEntityDataChangeCallbackRegisterable entityDataCallbackRegister,
                                                   IReadonlyLocalPlayerDetails playerDetails,
                                                   [KeyFilter(UnityUIRegisterationKey.PlayerUnitFrame)][NotNull]
                                                   IUIUnitFrame playerUnitFrame)
     : base(subscriptionService, entityDataCallbackRegister, playerDetails)
 {
     PlayerUnitFrame = playerUnitFrame ?? throw new ArgumentNullException(nameof(playerUnitFrame));
 }
示例#4
0
 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));
 }
示例#5
0
 public InitializeExperienceBarEventListener(ILocalPlayerSpawnedEventSubscribable subscriptionService,
                                             IEntityDataChangeCallbackRegisterable entityDataCallbackRegister,
                                             IReadonlyLocalPlayerDetails playerDetails,
                                             [NotNull] IEntityExperienceLevelStrategy levelStrategy,
                                             [NotNull][KeyFilter(UnityUIRegisterationKey.ExperienceBar)] IUIFillableImage experienceBar)
     : base(subscriptionService, entityDataCallbackRegister, playerDetails)
 {
     LevelStrategy = levelStrategy ?? throw new ArgumentNullException(nameof(levelStrategy));
     ExperienceBar = experienceBar ?? throw new ArgumentNullException(nameof(experienceBar));
 }
示例#6
0
 public DemoMakeObjectsClickableInteractableEventListener(IEntityCreationFinishedEventSubscribable subscriptionService,
                                                          [NotNull] IReadonlyEntityGuidMappable <GameObject> gameObjectMappable,
                                                          [NotNull] IPeerPayloadSendService <GameClientPacketPayload> sendService,
                                                          [NotNull] IReadonlyLocalPlayerDetails localPlayerDetails,
                                                          [NotNull] IReadonlyEntityGuidMappable <IEntityDataFieldContainer> entityDataFieldMappable)
     : base(subscriptionService)
 {
     GameObjectMappable      = gameObjectMappable ?? throw new ArgumentNullException(nameof(gameObjectMappable));
     SendService             = sendService ?? throw new ArgumentNullException(nameof(sendService));
     LocalPlayerDetails      = localPlayerDetails ?? throw new ArgumentNullException(nameof(localPlayerDetails));
     EntityDataFieldMappable = entityDataFieldMappable ?? throw new ArgumentNullException(nameof(entityDataFieldMappable));
 }
示例#7
0
 public OnCameraInputChangedSendRotationUpdateEventListener(ICameraInputChangedEventSubscribable subscriptionService,
                                                            [NotNull] IPeerPayloadSendService <GameClientPacketPayload> sendService,
                                                            [NotNull] IReadonlyNetworkTimeService timeService,
                                                            [NotNull] IReadonlyEntityGuidMappable <WorldTransform> transformMappable,
                                                            [NotNull] IReadonlyLocalPlayerDetails playerDetails)
     : base(subscriptionService)
 {
     SendService       = sendService ?? throw new ArgumentNullException(nameof(sendService));
     TimeService       = timeService ?? throw new ArgumentNullException(nameof(timeService));
     TransformMappable = transformMappable ?? throw new ArgumentNullException(nameof(transformMappable));
     PlayerDetails     = playerDetails ?? throw new ArgumentNullException(nameof(playerDetails));
 }
示例#8
0
		public RequestPlayerActionBarsEventListener(ILocalPlayerSpawnedEventSubscribable subscriptionService,
			[NotNull] ICharacterService characterService,
			[NotNull] IReadonlyLocalPlayerDetails playerDetails,
			[NotNull] IActionBarCollection actionBarCollection,
			[NotNull] IActionBarButtonStateChangedEventPublisher actionBarStateChangePublisher) 
			: base(subscriptionService)
		{
			CharacterService = characterService ?? throw new ArgumentNullException(nameof(characterService));
			PlayerDetails = playerDetails ?? throw new ArgumentNullException(nameof(playerDetails));
			ActionBarCollection = actionBarCollection ?? throw new ArgumentNullException(nameof(actionBarCollection));
			ActionBarStateChangePublisher = actionBarStateChangePublisher ?? throw new ArgumentNullException(nameof(actionBarStateChangePublisher));
		}
示例#9
0
 public RequestLocalPlayerCurrentGuildStatusEventListener(IRealtimeSocialServiceConnectedEventSubscribable subscriptionService,
                                                          [NotNull] ISocialService socialService,
                                                          [NotNull] IReadonlyLocalPlayerDetails playerDetails,
                                                          [NotNull] IEntityGuidMappable <CharacterGuildMembershipStatusResponse> guildMembershipMappable,
                                                          [NotNull] ILog logger,
                                                          [NotNull] IRemoteSocialHubClient socialClient)
     : base(subscriptionService)
 {
     SocialService           = socialService ?? throw new ArgumentNullException(nameof(socialService));
     PlayerDetails           = playerDetails ?? throw new ArgumentNullException(nameof(playerDetails));
     GuildMembershipMappable = guildMembershipMappable ?? throw new ArgumentNullException(nameof(guildMembershipMappable));
     Logger       = logger ?? throw new ArgumentNullException(nameof(logger));
     SocialClient = socialClient ?? throw new ArgumentNullException(nameof(socialClient));
 }
示例#10
0
        public JoinGuildTextChatEventListener(IGuildStatusChangedEventSubscribable subscriptionService,
                                              IReadonlyLocalPlayerDetails localPlayerDetails,
                                              IVoiceSessionAuthenticatedEventSubscribable vivoxAuthenticatedEventSubscribable,
                                              [NotNull] IVivoxAuthorizationService vivoxAutheAuthorizationService,
                                              [NotNull] IChatChannelJoinedEventPublisher channelJoinEventPublisher,
                                              [NotNull] ILog logger)
            : base(subscriptionService, localPlayerDetails)
        {
            VivoxAutheAuthorizationService = vivoxAutheAuthorizationService ?? throw new ArgumentNullException(nameof(vivoxAutheAuthorizationService));
            ChannelJoinEventPublisher      = channelJoinEventPublisher ?? throw new ArgumentNullException(nameof(channelJoinEventPublisher));
            Logger = logger ?? throw new ArgumentNullException(nameof(logger));
            TaskCompletionSource <ILoginSession> source = new TaskCompletionSource <ILoginSession>();

            ChatChannelSession = source.Task;

            //When vivox authenticates we can then set the completion of the login session.
            vivoxAuthenticatedEventSubscribable.OnVoiceSessionAuthenticated += (sender, args) => source.SetResult(args.Session);
        }
示例#11
0
 /// <inheritdoc />
 public LocalPlayerSpellCastingEventListener(ILocalPlayerSpawnedEventSubscribable subscriptionService,
                                             IEntityDataChangeCallbackRegisterable entityDataCallbackRegister,
                                             IReadonlyLocalPlayerDetails playerDetails)
     : base(subscriptionService, entityDataCallbackRegister, playerDetails)
 {
 }
示例#12
0
 protected OnLocalPlayerGuildStatusChangedEventListener(IGuildStatusChangedEventSubscribable subscriptionService,
                                                        [NotNull] IReadonlyLocalPlayerDetails localPlayerDetails)
     : base(subscriptionService)
 {
     LocalPlayerDetails = localPlayerDetails ?? throw new ArgumentNullException(nameof(localPlayerDetails));
 }
示例#13
0
 public SpellCastResponsePayloadHandler(ILog logger, [NotNull] IReadonlyNetworkTimeService timeService, [NotNull] IReadonlyLocalPlayerDetails playerDetails)
     : base(logger)
 {
     TimeService   = timeService ?? throw new ArgumentNullException(nameof(timeService));
     PlayerDetails = playerDetails ?? throw new ArgumentNullException(nameof(playerDetails));
 }
示例#14
0
 /// <inheritdoc />
 public LocalPlayerUnitFrameResourceUpdateEventListener(ILocalPlayerSpawnedEventSubscribable subscriptionService, [NotNull] IEntityDataChangeCallbackRegisterable entityDataCallbackRegister, [NotNull] IReadonlyLocalPlayerDetails playerDetails,
                                                        [NotNull][KeyFilter(UnityUIRegisterationKey.PlayerUnitFrame)] IUIUnitFrame playerUnitFrame)
     : base(subscriptionService)
 {
     EntityDataCallbackRegister = entityDataCallbackRegister ?? throw new ArgumentNullException(nameof(entityDataCallbackRegister));
     PlayerDetails   = playerDetails ?? throw new ArgumentNullException(nameof(playerDetails));
     PlayerUnitFrame = playerUnitFrame ?? throw new ArgumentNullException(nameof(playerUnitFrame));
 }
示例#15
0
 public RetrieveGuildListEventListener(IGuildStatusChangedEventSubscribable subscriptionService, IReadonlyLocalPlayerDetails localPlayerDetails,
                                       [NotNull] ISocialService socialService,
                                       [NotNull] ILog logger,
                                       [NotNull] ICharacterJoinedGuildEventPublisher guildJoinEventPublisher)
     : base(subscriptionService, localPlayerDetails)
 {
     SocialService           = socialService ?? throw new ArgumentNullException(nameof(socialService));
     Logger                  = logger ?? throw new ArgumentNullException(nameof(logger));
     GuildJoinEventPublisher = guildJoinEventPublisher ?? throw new ArgumentNullException(nameof(guildJoinEventPublisher));
 }
示例#16
0
 public ToggleGuildSocialTabEventListener(IGuildStatusChangedEventSubscribable subscriptionService, IReadonlyLocalPlayerDetails localPlayerDetails,
                                          [KeyFilter(UnityUIRegisterationKey.GuildList)][NotNull] IUIToggle guildListToggle)
     : base(subscriptionService, localPlayerDetails)
 {
     GuildListToggle = guildListToggle ?? throw new ArgumentNullException(nameof(guildListToggle));
 }