#include <dwc.h>
u8 DWC_GetFriendStatusData(const DWCFriendData *friendData,
char *statusData,
int *size);| friendData | DWCFriendData型の友達情報へのポインタ |
| statusData | 友達のstatusデータ格納先ポインタ。NULLを渡せばデータのコピーは行わない。 |
| size | 友達のstatusデータ長の格納先ポインタ。無効なデータの場合は-1が格納される。 |
| DWC_STATUS_OFFLINE | オフライン 自分がオフラインの時、または相手と友達関係が成立していないとき |
| DWC_STATUS_ONLINE | オンライン(Wi-Fiコネクションサーバにログイン済み) |
| DWC_STATUS_PLAYING | ・クライアントとしてゲームプレイ中(マッチメイクタイプの種類によらない) ・友達指定マッチメイク又はサーバクライアントマッチメイクで、一度でもサーバ交代が起こった後のサーバとしてゲームプレイ中 上記2状態は共通して、この相手に対して接続に行くことは出来ない事を示している。(PLAYING状態は受付可能な状態では無い) |
| DWC_STATUS_MATCH_ANYBODY | ・友達無指定ピアマッチメイク中で接続相手を検索中 ・友達無指定ピアマッチメイク中でサーバとしてゲームプレイ中 |
| DWC_STATUS_MATCH_FRIEND | ・友達指定ピアマッチメイク中で接続相手を検索中 ・友達指定ピアマッチメイク中でサーバとしてゲームプレイ中 |
| DWC_STATUS_MATCH_SC_CL | ・サーバクライアントマッチメイク中のクライアントホストとして、サーバと接続処理中 ・グループID接続のクライアントホストとして、サーバと接続処理中 |
| DWC_STATUS_MATCH_SC_SV | ・サーバクライアントマッチメイク中のサーバホストとしてゲームプレイ中 |
friendDataで指定された友達の通信状態を取得します。友達の通信状態は変化がある度にGameSpyサーバから通知され、DWCライブラリ内のキャッシュに保存されるので、本関数ではそれを参照し、通信は行いません。
プレイヤーの通信状態は、本関数の返り値で表されるstatusフラグと、status文字列というものから成っており、GameSpyサーバ上で管理されています。本関数では、status文字列をBase64でエンコードされた文字列と見なし、デコードしてstatusデータ(引数statusData)を取得します。statusフラグはDWCライブラリが自動的にセットしますが、statusデータはDWC_SetOwnStatusData関数を用いてアプリケーションが設定することができます。この関数で指定されたデータがBase64エンコードされ、status文字列としてGameSpyサーバに送信されます。
サーバクライアントマッチメイクに特有の情報も取得したい場合は、DWC_GetFriendStatusDataSC関数を使用してください。また、statusDataのようなバイナリデータではなく、文字列をDWC_SetOwnStatusString関数でセットしているアプリケーションの場合は、DWC_GetFriendStatus/DWC_GetFriendStatusSC関数を使用して文字列データを取得してください。
5.1pr2より前の変更履歴はこちら