0

我在 unity3d 多人游戏中使用光子聊天插件。我添加了一些朋友,可以给他们发私信。我想显示那个朋友是否在线。

我可以使用状态更新回调,但它只会显示更改状态的朋友。如何获得已经在线的朋友?

我已经了解了 FriendInfo 的语法,但不知道如何使用它。任何了解某个特定客户是否在线的小例子都会非常有帮助。

谢谢!

4

2 回答 2

0

要获取朋友状态更新,您可以将带有用户名的字符串数组发送到 Photon。

friends = new List<string>() { "Ford", "Zaphod", "Marvin", "Eddie" };
chatClient.AddFriends(friends.ToArray());

OnStatusUpdate()对于所有在线朋友,您将在 IChatClientListener 界面上收到每个人当前状态的初始更新。

OnStatusUpdate( string user, int status, bool gotMessage, object message )
{
    Console.WriteLine( "Status change for: " + user + " to: " + status );
}

未收到状态更新的朋友处于离线状态。

于 2015-02-18T16:40:41.907 回答
0

您可以调用每 5 秒通过 photon 更新好友列表的事件。在那个朋友列表中应该看起来像这样

foreach(PhotonFriendInfo friend in friendList)
        {
         Status.text=friend.IsOnline? "Online":"Offline";
         }

所以调用每 5 或 10 秒调用一次的事件

于 2022-02-03T06:26:08.730 回答