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常用类介绍