示例#1
0
    void IUsersAroundListHUDListView.AddOrUpdateUser(MinimapMetadata.MinimapUserInfo userInfo)
    {
        if (userElementDictionary.ContainsKey(userInfo.userId))
        {
            return;
        }

        var profile = UserProfileController.userProfilesCatalog.Get(userInfo.userId);

        if (profile == null)
        {
            return;
        }

        UsersAroundListHUDListElementView view = null;

        if (availableElements.Count > 0)
        {
            view = availableElements.Dequeue();
        }
        else
        {
            view                       = Instantiate(listElementView, contentPlayers);
            view.OnMuteUser           += OnMuteUser;
            view.OnShowUserContexMenu += OnUserContextMenu;
        }

        view.OnPoolGet();
        view.SetUserProfile(profile);
        userElementDictionary.Add(userInfo.userId, view);
        OnModifyListCount();
        CheckListEmptyState();
    }
示例#2
0
    void IUsersAroundListHUDListView.AddOrUpdateUser(MinimapMetadata.MinimapUserInfo userInfo)
    {
        if (userElementDictionary.ContainsKey(userInfo.userId))
        {
            return;
        }

        var profile = UserProfileController.userProfilesCatalog.Get(userInfo.userId);

        if (profile == null)
        {
            return;
        }

        bool isFriend = false;

        if (FriendsController.i && FriendsController.i.friends.TryGetValue(userInfo.userId, out FriendsController.UserStatus status))
        {
            isFriend = status.friendshipStatus == FriendshipStatus.FRIEND;
        }

        UsersAroundListHUDListElementView view = null;

        if (availableElements.Count > 0)
        {
            view = availableElements.Dequeue();
            view.transform.SetParent(isFriend ? contentFriends : contentPlayers);
        }
        else
        {
            view                       = Instantiate(listElementView, isFriend ? contentFriends : contentPlayers);
            view.OnMuteUser           += OnMuteUser;
            view.OnShowUserContexMenu += OnUserContextMenu;
        }

        view.OnPoolGet();
        view.SetUserProfile(profile);
        userElementDictionary.Add(userInfo.userId, view);
        ModifyListCount(isFriend, 1);
    }
示例#3
0
 void PoolElementView(UsersAroundListHUDListElementView element)
 {
     element.OnPoolRelease();
     availableElements.Enqueue(element);
 }
示例#4
0
 bool IsInFriendsList(UsersAroundListHUDListElementView element)
 {
     return(element.transform.parent == contentFriends);
 }