我用的是双关语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;
}这是光子代码
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;
}
}如何将两者结合起来呢?
发布于 2020-08-31 17:33:50
我在官方的光子论坛here上回复了。引用我的回答:
假设您按照我们的建议使用PlayFab与Photon集成,Photon UserID和PlayFab ID将是相同的。因此,你可以在字典中缓存朋友,将关键字设置为他们的FriendID,这是Photon的UserID / PlayFab ID,并作为值创建一个新的类,它结合了来自PlayFab的FriendInfo和Photon的FriendInfo的信息。然后定期调用PlayFab的GetFriends,在其回调中更新缓存的好友列表,并调用Photon的FindFriends (如果适用/在房间外)。在FindFriends的回调中,更新缓存的好友列表并更新UI。
https://stackoverflow.com/questions/63651589
复制相似问题