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