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 秒ごとにフォトン経由でフレンド リストを更新するイベントを呼び出すことができます。そのフレンドリストでは、次のようになります

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

したがって、これを5秒または10秒ごとに呼び出すイベントを呼び出します

于 2022-02-03T06:26:08.730 に答える