Multiplayer Manager を使用したゲームへの招待の送信
シンプルなマルチプレイヤーのシナリオでは、ゲームのプレイヤーがフレンドとオンラインでプレイすることができます。 このトピックでは、他のプレイヤーにゲームへの招待を送信する手順について説明します。
Multiplayer Manager を初期化し、ローカル ユーザーを追加してロビー セッションを作成します。 詳細については、「Multiplayer Manager を使ったフレンドとのマルチプレイヤー ゲームのプレイの有効化」を参照してください。
XblMultiplayerEventType::UserAdded
イベントの受信後に、招待の送信を開始できます。
招待は 2 つの方法で送信することができます。
プロセスの詳細については、「別のプレイヤーに招待を送信する (フローチャート)」を参照してください。
Xbox プラットフォームの招待 TCUI
XblMultiplayerManagerLobbySessionInviteFriends を呼び出し、標準 Xbox UI を表示して、プレイヤーはフレンドや最近遊んだプレイヤーを選んでゲームに招待できるようにします。 プレーヤーが選択を確認すると、Multiplayer Manager は選択したプレイヤーに招待を送信します。
フラット C API
std::string customActivationContext = "{ \"customGameData\": 1 }"; // This string can be anything your game sends across to the invited player's game.
HRESULT hr = XblMultiplayerManagerLobbySessionInviteFriends(xuserHandle, nullptr, customActivationContext.c_str());
Multiplayer Manager は、Xbox プラットフォームの招待 TCUI を使用プレイヤーを招待するために、以下の機能を実行します。
- Xbox 標準の TCUI を表示します。
- 選択されたプレイヤーに直接、招待を送信する。
タイトルで実装したカスタム UI
タイトルでは、オンラインのフレンドを表示して招待するためのカスタム TCUI を実装できます。 ゲームでは XblMultiplayerManagerLobbySessionInviteUsers 方式を使用して、Xbox Live ユーザー Id によって定義されている一連のユーザーに招待を送信することができます。 これは、標準 Xbox UI の代わりに独自のゲーム内 UI を使用する場合に役立ちます。
フラット C API
size_t xuidsCount = 1;
uint64_t xuids[1] = {};
xuids[0] = 1234567891234567;
HRESULT hr = XblMultiplayerManagerLobbySessionInviteUsers(
xblUserHandle,
xuids,
xuidsCount,
nullptr, // ContextStringId
nullptr // CustomActivationContext
);
タイトルで実装したカスタム UI を使用する場合、Multiplayer Manager は選択したプレイヤーに直接招待を送信します。