public void Initialize(IFriendsController friendsController)
    {
        this.friendsController = new FriendTrackerController(friendsController, view.friendColors);

        view.Initialize(this.friendsController);
        view.togglePopupButton.gameObject.SetActive(false);
    }
    internal static TaskbarHUDView Create(TaskbarHUDController controller, IChatController chatController,
                                          IFriendsController friendsController)
    {
        var view = Instantiate(Resources.Load <GameObject>(VIEW_PATH)).GetComponent <TaskbarHUDView>();

        view.Initialize(controller, chatController, friendsController);
        return(view);
    }
    public UsersSearchFriendsHandler(IFriendsController friendsController)
    {
        this.friendsController   = friendsController;
        isFriendlistDirty        = true;
        waitingFriendsInitialize = true;

        if (friendsController != null)
        {
            friendsController.OnUpdateFriendship += OnUpdateFriendship;
        }
    }
示例#4
0
    public void Initialize(IFriendsController friendsController, bool newTaskbarIsEnabled)
    {
        this.friendsController = new FriendTrackerController(friendsController, view.friendColors);
        miniMapDataController  = new ExploreMiniMapDataController();

        view.Initialize(miniMapDataController, this.friendsController);

        if (newTaskbarIsEnabled)
        {
            view.togglePopupButton.gameObject.SetActive(false);
        }
    }
示例#5
0
    public SectionSceneAdminsSettingsController(SectionSceneAdminsSettingsView view, IFriendsController friendsController)
    {
        this.view = view;
        friendsSearchPromptController = new FriendsSearchPromptController(view.GetAdminsSearchPromptView(), friendsController);
        usersSearchPromptController   = new UsersSearchPromptController(view.GetBlockedSearchPromptView());

        view.OnSearchFriendButtonPressed += () => friendsSearchPromptController.Show();
        view.OnSearchUserButtonPressed   += () => usersSearchPromptController.Show();

        friendsSearchPromptController.OnAddUser    += OnAddAdminPressed;
        friendsSearchPromptController.OnRemoveUser += OnRemoveAdminPressed;
        usersSearchPromptController.OnAddUser      += OnAddBannedUserPressed;
        usersSearchPromptController.OnRemoveUser   += OnRemoveBannedUserPressed;
    }
示例#6
0
    public void Initialize(TaskbarHUDController controller, IChatController chatController,
                           IFriendsController friendsController, bool newTaskbarIsEnabled)
    {
        this.controller = controller;

        ShowBar(true, true);
        chatButton.transform.parent.gameObject.SetActive(false);
        friendsButton.transform.parent.gameObject.SetActive(false);
        backpackButton.transform.parent.gameObject.SetActive(false);
        exploreButton.transform.parent.gameObject.SetActive(false);
        goToGenesisButton.transform.parent.gameObject.SetActive(false);

        moreButton.gameObject.SetActive(true);
        moreMenu.Initialize(this);
        moreMenu.ShowMoreMenu(false, true);

        chatHeadsGroup.Initialize(chatController, friendsController);
        chatButton.Initialize();
        friendsButton.Initialize();
        backpackButton.Initialize();
        exploreButton.Initialize();
        goToGenesisButton.Initialize();
        moreButton.Initialize();

        chatHeadsGroup.OnHeadToggleOn  += OnWindowToggleOn;
        chatHeadsGroup.OnHeadToggleOff += OnWindowToggleOff;

        chatButton.OnToggleOn  += OnWindowToggleOn;
        chatButton.OnToggleOff += OnWindowToggleOff;

        friendsButton.OnToggleOn  += OnWindowToggleOn;
        friendsButton.OnToggleOff += OnWindowToggleOff;

        backpackButton.OnToggleOn  += OnWindowToggleOn;
        backpackButton.OnToggleOff += OnWindowToggleOff;

        exploreButton.OnToggleOn  += OnWindowToggleOn;
        exploreButton.OnToggleOff += OnWindowToggleOff;

        goToGenesisButton.OnToggleOn  += OnWindowToggleOn;
        goToGenesisButton.OnToggleOff += OnWindowToggleOff;

        moreButton.OnToggleOn  += OnWindowToggleOn;
        moreButton.OnToggleOff += OnWindowToggleOff;

        if (!newTaskbarIsEnabled)
        {
            ActivateOldTaskbar();
        }
    }
示例#7
0
    public FriendsSearchPromptController(UsersSearchPromptView promptView, IFriendsController friendsController)
    {
        view = promptView;
        view.SetIdleSearchTime(IDLE_TIME_TRIGGER_SEARCH);

        friendsHandler   = new UsersSearchFriendsHandler(friendsController);
        userViewsHandler = new UsersSearchUserViewsHandler(view.GetUsersBaseElement(), view.GetUserElementsParent());

        friendsHandler.OnFriendRemoved += OnFriendRemoved;
        searchHandler.OnSearchChanged  += OnSearchResult;
        view.OnSearchText             += OnSearchText;
        view.OnShouldHide             += OnShouldHidePrompt;
        userViewsHandler.OnAddUser    += OnAddUserPressed;
        userViewsHandler.OnRemoveUser += OnRemoveUserPressed;
    }
示例#8
0
    public void Initialize(IFriendsController friendsController, UserProfile ownUserProfile)
    {
        view = FriendsHUDView.Create(this);
        this.friendsController = friendsController;

        if (this.friendsController != null)
        {
            this.friendsController.OnUpdateFriendship += OnUpdateFriendship;
            this.friendsController.OnUpdateUserStatus += OnUpdateUserStatus;
            this.friendsController.OnFriendNotFound   += OnFriendNotFound;
        }

        view.friendRequestsList.OnFriendRequestApproved     += Entry_OnRequestAccepted;
        view.friendRequestsList.OnCancelConfirmation        += Entry_OnRequestCancelled;
        view.friendRequestsList.OnRejectConfirmation        += Entry_OnRequestRejected;
        view.friendRequestsList.OnFriendRequestSent         += Entry_OnRequestSent;
        view.friendRequestsList.contextMenuPanel.OnBlock    += Entry_OnBlock;
        view.friendRequestsList.contextMenuPanel.OnPassport += Entry_OnPassport;

        view.friendsList.OnWhisper += Entry_OnWhisper;
        view.friendsList.contextMenuPanel.OnBlock    += Entry_OnBlock;
        view.friendsList.contextMenuPanel.OnPassport += Entry_OnPassport;
        view.friendsList.contextMenuPanel.OnReport   += Entry_OnReport;

        view.friendsList.OnDeleteConfirmation += Entry_OnDelete;

        if (ownUserProfile != null)
        {
            this.ownUserProfile      = ownUserProfile;
            ownUserProfile.OnUpdate += OnUserProfileUpdate;
        }

        if (friendsController != null)
        {
            if (friendsController.isInitialized)
            {
                view.HideSpinner();
            }
            else
            {
                view.ShowSpinner();
                friendsController.OnInitialized -= FriendsController_OnInitialized;
                friendsController.OnInitialized += FriendsController_OnInitialized;
            }
        }
    }
示例#9
0
    public void Initialize(IMouseCatcher mouseCatcher, IChatController chatController,
                           IFriendsController friendsController)
    {
        this.mouseCatcher   = mouseCatcher;
        this.chatController = chatController;

        view = TaskbarHUDView.Create(this, chatController, friendsController);

        if (mouseCatcher != null)
        {
            mouseCatcher.OnMouseLock   -= MouseCatcher_OnMouseLock;
            mouseCatcher.OnMouseUnlock -= MouseCatcher_OnMouseUnlock;
            mouseCatcher.OnMouseLock   += MouseCatcher_OnMouseLock;
            mouseCatcher.OnMouseUnlock += MouseCatcher_OnMouseUnlock;
        }

        view.chatHeadsGroup.OnHeadToggleOn  += ChatHeadsGroup_OnHeadOpen;
        view.chatHeadsGroup.OnHeadToggleOff += ChatHeadsGroup_OnHeadClose;

        view.windowContainerLayout.enabled = false;

        view.OnChatToggleOff    += View_OnChatToggleOff;
        view.OnChatToggleOn     += View_OnChatToggleOn;
        view.OnFriendsToggleOff += View_OnFriendsToggleOff;
        view.OnFriendsToggleOn  += View_OnFriendsToggleOn;

        toggleFriendsTrigger              = Resources.Load <InputAction_Trigger>("ToggleFriends");
        toggleFriendsTrigger.OnTriggered -= ToggleFriendsTrigger_OnTriggered;
        toggleFriendsTrigger.OnTriggered += ToggleFriendsTrigger_OnTriggered;

        closeWindowTrigger              = Resources.Load <InputAction_Trigger>("CloseWindow");
        closeWindowTrigger.OnTriggered -= CloseWindowTrigger_OnTriggered;
        closeWindowTrigger.OnTriggered += CloseWindowTrigger_OnTriggered;

        toggleWorldChatTrigger              = Resources.Load <InputAction_Trigger>("ToggleWorldChat");
        toggleWorldChatTrigger.OnTriggered -= ToggleWorldChatTrigger_OnTriggered;
        toggleWorldChatTrigger.OnTriggered += ToggleWorldChatTrigger_OnTriggered;

        if (chatController != null)
        {
            chatController.OnAddMessage -= OnAddMessage;
            chatController.OnAddMessage += OnAddMessage;
        }

        view.windowContainerAnimator.Show();
    }
示例#10
0
    public void Initialize(TaskbarHUDController controller, IChatController chatController,
                           IFriendsController friendsController)
    {
        this.controller = controller;

        ShowBar(true, true);
        chatButton.transform.parent.gameObject.SetActive(false);
        friendsButton.transform.parent.gameObject.SetActive(false);
        settingsButton.transform.parent.gameObject.SetActive(false);
        exploreButton.transform.parent.gameObject.SetActive(false);
        voiceChatButtonPlaceholder.SetActive(false);
        voiceChatButton.gameObject.SetActive(false);

        moreButton.gameObject.SetActive(true);
        moreMenu.Initialize(this);
        moreMenu.ShowMoreMenu(false, true);

        chatHeadsGroup.Initialize(chatController, friendsController);
        chatButton.Initialize();
        friendsButton.Initialize();
        builderInWorldButton.Initialize();
        settingsButton.Initialize();
        exploreButton.Initialize();
        moreButton.Initialize();

        chatHeadsGroup.OnHeadToggleOn  += OnWindowToggleOn;
        chatHeadsGroup.OnHeadToggleOff += OnWindowToggleOff;

        chatButton.OnToggleOn  += OnWindowToggleOn;
        chatButton.OnToggleOff += OnWindowToggleOff;

        friendsButton.OnToggleOn  += OnWindowToggleOn;
        friendsButton.OnToggleOff += OnWindowToggleOff;

        builderInWorldButton.OnToggleOn  += OnWindowToggleOn;
        builderInWorldButton.OnToggleOff += OnWindowToggleOff;

        settingsButton.OnToggleOn  += OnWindowToggleOn;
        settingsButton.OnToggleOff += OnWindowToggleOff;

        exploreButton.OnToggleOn  += OnWindowToggleOn;
        exploreButton.OnToggleOff += OnWindowToggleOff;

        moreButton.OnToggleOn  += OnWindowToggleOn;
        moreButton.OnToggleOff += OnWindowToggleOff;
    }
示例#11
0
    /// <summary>
    /// Prepares the JumpIn button for listening to a specific user.
    /// </summary>
    /// <param name="friendsController">Friends Controller to be listened</param>
    /// <param name="userId">User ID to listen to</param>
    public void Initialize(IFriendsController friendsController, string userId)
    {
        if (friendsController == null)
        {
            return;
        }

        currentFriendsController = friendsController;
        currentUserId            = userId;

        button.onClick.RemoveAllListeners();
        button.onClick.AddListener(() => JumpIn());

        currentFriendsController.OnUpdateUserStatus -= FriendsController_OnUpdateUserStatus;
        currentFriendsController.OnUpdateUserStatus += FriendsController_OnUpdateUserStatus;

        SearchUserStatus(currentUserId);
    }
示例#12
0
    public void Initialize(TaskbarHUDController controller, IChatController chatController,
                           IFriendsController friendsController)
    {
        this.controller = controller;

        chatHeadsGroup.Initialize(chatController, friendsController);
        chatButton.Initialize();
        friendsButton.Initialize();

        chatHeadsGroup.OnHeadToggleOn  += OnWindowToggleOn;
        chatHeadsGroup.OnHeadToggleOff += OnWindowToggleOff;

        chatButton.OnToggleOn  += OnWindowToggleOn;
        chatButton.OnToggleOff += OnWindowToggleOff;

        friendsButton.OnToggleOn  += OnWindowToggleOn;
        friendsButton.OnToggleOff += OnWindowToggleOff;
    }
示例#13
0
    public void Initialize(IChatController chatController, IFriendsController friendsController)
    {
        this.chatController    = chatController;
        this.friendsController = friendsController;

        if (chatController != null)
        {
            chatController.OnAddMessage += ChatController_OnAddMessage;
        }

        if (friendsController != null)
        {
            friendsController.OnUpdateFriendship += FriendsController_OnUpdateFriendship;
            friendsController.OnUpdateUserStatus += FriendsController_OnUpdateUserStatus;
        }

        CommonScriptableObjects.rendererState.OnChange -= RendererState_OnChange;
        CommonScriptableObjects.rendererState.OnChange += RendererState_OnChange;
    }
示例#14
0
    public FriendTrackerController(IFriendsController friendsController, Color[] friendColors)
    {
        this.friendsController = friendsController;

        if (friendColors != null && friendColors.Length > 0)
        {
            this.friendColors = friendColors;
        }
        else
        {
            this.friendColors = new Color[] { Color.white };
        }

        if (!friendsController.isInitialized)
        {
            friendsController.OnInitialized += OnFriendsInitialized;
        }

        friendsController.OnUpdateUserStatus += OnUpdateUserStatus;
    }
    public void Initialize(TaskbarHUDController controller, IChatController chatController,
                           IFriendsController friendsController)
    {
        this.controller = controller;

        ShowBar(true, true);
        chatButton.transform.parent.gameObject.SetActive(false);
        friendsButton.transform.parent.gameObject.SetActive(false);
        builderInWorldButton.transform.parent.gameObject.SetActive(false);
        settingsButton.transform.parent.gameObject.SetActive(false);
        exploreButton.transform.parent.gameObject.SetActive(false);
        voiceChatButtonPlaceholder.SetActive(false);
        voiceChatButton.gameObject.SetActive(false);

        moreButton.gameObject.SetActive(true);
        moreMenu.Initialize(this);
        moreMenu.ShowMoreMenu(false, true);

        chatHeadsGroup.Initialize(chatController, friendsController);
        chatButton.Initialize();
        friendsButton.Initialize();
        builderInWorldButton.Initialize();
        settingsButton.Initialize();
        exploreButton.Initialize();
        moreButton.Initialize();
        questPanelButton.Initialize();

        chatHeadsGroup.OnHeadToggleOn  += OnWindowToggleOn;
        chatHeadsGroup.OnHeadToggleOff += OnWindowToggleOff;

        chatButton.OnToggleOn  += OnWindowToggleOn;
        chatButton.OnToggleOff += OnWindowToggleOff;

        friendsButton.OnToggleOn  += OnWindowToggleOn;
        friendsButton.OnToggleOff += OnWindowToggleOff;

        builderInWorldButton.OnToggleOn  += OnWindowToggleOn;
        builderInWorldButton.OnToggleOff += OnWindowToggleOff;

        settingsButton.OnToggleOn  += OnWindowToggleOn;
        settingsButton.OnToggleOff += OnWindowToggleOff;

        exploreButton.OnToggleOn  += OnWindowToggleOn;
        exploreButton.OnToggleOff += OnWindowToggleOff;

        moreButton.OnToggleOn  += OnWindowToggleOn;
        moreButton.OnToggleOff += OnWindowToggleOff;

        questPanelButton.OnToggleOn  -= OnWindowToggleOn;
        questPanelButton.OnToggleOff -= OnWindowToggleOff;
        questPanelButton.OnToggleOn  += OnWindowToggleOn;
        questPanelButton.OnToggleOff += OnWindowToggleOff;

        portableExperiencesDiv.SetActive(false);

        portableExperiencesPool = PoolManager.i.AddPool(
            PORTABLE_EXPERIENCE_ITEMS_POOL,
            Instantiate(portableExperienceItem.gameObject),
            maxPrewarmCount: 5,
            isPersistent: true);

        portableExperiencesPool.ForcePrewarm();

        AdjustRightButtonsLayoutWidth();
    }
示例#16
0
    public SectionSceneContributorsSettingsController(SectionSceneContributorsSettingsView view, IFriendsController friendsController)
    {
        this.view = view;
        friendsSearchPromptController = new FriendsSearchPromptController(view.GetSearchPromptView(), friendsController);

        view.OnSearchUserButtonPressed             += () => friendsSearchPromptController.Show();
        friendsSearchPromptController.OnAddUser    += OnAddUserPressed;
        friendsSearchPromptController.OnRemoveUser += OnRemoveUserPressed;
    }