photon chat unity plugin - 如何知道朋友是不是在线

Posted

技术标签:

【中文标题】photon chat unity plugin - 如何知道朋友是不是在线【英文标题】:photon chat unity plugin - how to know if a friend is online or notphoton chat unity plugin - 如何知道朋友是否在线 【发布时间】:2015-02-14 05:30:40 【问题描述】:

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

我可以使用状态更新回调,但它只会显示更改状态的朋友。我怎样才能得到已经在线的朋友?

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

谢谢!

【问题讨论】:

【参考方案1】:

要获取朋友状态更新,您可以向 Photon 发送一个包含他们用户名的字符串数组。

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

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

OnStatusUpdate( string user, int status, bool gotMessage, object message )

    Console.WriteLine( "Status change for: " + user + " to: " + status );

没有收到状态更新的朋友离线。

【讨论】:

这对我有用......它只是每次都提供状态更新。 如果您缩小“不是……每次”的范围可能会有所帮助,这是我们无法每次都重现的情况……;)) not everytime... 意思是...每次我在 photon chay 中连接时,我都没有收到所有在线朋友的更新...所以显示当前在线朋友有问题。跨度> 【参考方案2】:

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

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

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

【讨论】:

以上是关于photon chat unity plugin - 如何知道朋友是不是在线的主要内容,如果未能解决你的问题,请参考以下文章

使用Photon引擎进行unity网络游戏开发——Photon常用类介绍

在Unity中使用Photon(网络多人联机)

Unity - 未调用 Photon OnJoinedRoom

Unity连Photon服务器入门详解

photon Unity RPC 调用流程

使用Photon引擎进行unity网络游戏开发