Unity3d 如何在playfab和光子朋友之间结合';s信息

Unity3d 如何在playfab和光子朋友之间结合';s信息,unity3d,networking,photon,playfab,Unity3d,Networking,Photon,Playfab,我正在使用双关语2和playfab。我做到了,每次你添加一个新朋友,它就会将他添加到playfab列表中,这很好,因为我可以随时添加一个朋友,不像双关语2,但我看不到朋友是否在线,也看不到朋友的房间名称(光子选项)。问题是我从playfab转换成了光子。有办法吗? 这是我的playfab代码 private void DisplayPlayfabFriends(List<PlayFab.ClientModels.FriendInfo> friendCache) {

我正在使用双关语2和playfab。我做到了,每次你添加一个新朋友,它就会将他添加到playfab列表中,这很好,因为我可以随时添加一个朋友,不像双关语2,但我看不到朋友是否在线,也看不到朋友的房间名称(光子选项)。问题是我从playfab转换成了光子。有办法吗? 这是我的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;
    }

如何将两者结合起来?

我在官方光子论坛上回答。 引述我的答覆:

假设您按照我们的建议使用PlayFab与光子集成 它、光子用户ID和PlayFab ID将是相同的。所以你可以缓存 字典中的好友,其密钥设置为其FriendID,即 光子用户ID/PlayFab ID和as值创建一个新类 结合PlayFab的FriendInfo和光子的FriendInfo中的信息。然后 定期调用PlayFab的GetFriends,在其回调中更新 缓存的朋友列表和呼叫光子的FindFriends(如果适用 /房间外)。在FindFriends的回调中更新缓存的 好友列表并更新用户界面


    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;
        }
    }