0

我正在使用双关语 2 和 playfab。我每次添加新朋友时都会这样做,它会将他添加到 playfab 列表中,这很好,因为我可以随时添加朋友,不像双关语 2 但我看不到朋友是否在线并获得朋友房间名称(光子选项)。问题是我从 playfab 转换为 photon。有办法吗?这是我的playfab代码

    private void DisplayPlayfabFriends(List<PlayFab.ClientModels.FriendInfo> friendCache)
    {
        foreach (PlayFab.ClientModels.FriendInfo f in friendCache)
        {
            bool isfound = false;
            if(myfriends != null)
            {
                foreach (PlayFab.ClientModels.FriendInfo g in myfriends)
                {
                    if (f.FriendPlayFabId == g.FriendPlayFabId)
                    {
                        isfound = true;
                    }
                }
            }
            if(isfound == false)
            {
                UIFriend listing = Instantiate(uiPrefab, container);
                if(listing != null)
                {
                    listing.Initialize(f);
                    listing.friendNameText.text = f.TitleDisplayName;

                }
            }
        }
        myfriends = friendCache;
    }

这是光子代码


    public void Initialize(Photon.Realtime.FriendInfo friendInfo)
    {
        info = friendInfo;
        roomName = $"{infophoton.UserId}";
        friendNameText.text = $"{info.UserId}";

        if (infophoton.IsOnline)
        {
            onlineImage.color = onlineColor;
        }
        else
        {
            onlineImage.color = offlineColor;
        }
    }

如何将它们结合起来?

4

1 回答 1

0

我在这里的官方 Photon 论坛上回复了。引用我的回复:

假设您按照我们的建议使用 PlayFab 与 Photon 的集成,Photon UserID 和 PlayFab ID 将相同。因此,您可以在字典中缓存朋友,并将键设置为他们的 FriendID,即 Photon UserID / PlayFab ID,并作为值创建一个新类,该类结合来自 PlayFab 的 FriendInfo 和 Photon 的 FriendInfo 的信息。然后定期调用 PlayFab 的 GetFriends,在其回调中更新缓存的朋友列表并调用 Photon 的 FindFriends(适用时/在房间外)。在 FindFriends 的回调中更新缓存的好友列表并更新 UI。

于 2020-08-31T09:33:50.457 回答