10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Play Games plugin for Unityを使う

Last updated at Posted at 2015-03-03

UnityでGoogle Play Gamesが利用できるプラグイン Google Play Games plugin for Unity を使ってみたので、忘備録もかねて。
この記事では、"Invitation"、"Create or Join a Room" と "Real-Time Multiplayer" まわりについて書きます。
導入などの準備はすっ飛ばしますのでその辺は Unity Google Play Services まとめ - tetu式play games plugin for Unityを使ってみよう(Android版) - テラシュールブログ などの記事を参考にするといいと思います。
なお、この記事を書いている時点でバージョンは0.9.12です。

この記事は未完です。少しずつ書いていきます。

Invitation(招待)

文字通りほかのユーザーをゲームに招待する機能です。招待を承諾するとそのままマルチプレイヤーへ遷移するような設計になっています。

ユーザーを招待する

Create with invitation screen より

const int MinOpponents = 1, MaxOpponents = 3;
const int GameVariant = 0;
PlayGamesPlatform.Instance.RealTime.CreateWithInvitationScreen(MinOpponents, MaxOpponents, GameVariant, listener);
  • MinOpponents : 最小の相手プレイヤーの人数
  • MaxOpponents : 最大の相手プレイヤーの人数
  • GameVariant : 招待したいゲームモードのタイプ、これはゲーム側で自由に設定
  • listener : RealTimeMultiplayerListenerインターフェイスを実装したクラス、実装については後ほど

このメソッドを呼び出すとこんな画面が出ます。
invitation1.png

招待を受ける

inbox(招待の履歴のようなもの?)から受ける

ゲームをプレイしていないとき招待を受けると、通知領域に通知&inboxに保存されます。

Accept from inbox より

PlayGamesPlatform.Instance.RealTime.AcceptFromInbox(listener);
  • listener : RealTimeMultiplayerListenerインターフェイスを実装したクラス、実装については後ほど

このメソッドを呼び出すとこんな画面が出ます。
invitation2.png

ゲーム中に受ける

招待を受けるために、招待が来た場合のコールバックメソッドを登録しておきましょう。
以下のコードを PlayGamesPlatform.Activate();の前に記述します。

var config = new PlayGamesClientConfiguration.Builder()
.WithInvitationDelegate(OnReceivedInvitation) //招待を受けるとOnReceivedInvitationが呼ばれる
.Build();

PlayGamesPlatform.InitializeInstance(config);

OnReceivedInvitationの構文は void OnReceivedInvitation(Invitation invitation, bool shouldAutoAccept) です。
OnReceivedInvitation に渡される Invitation クラスには Variant プロパティがあり、ここに GameVariant の値が格納されています。

招待を拒否する

PlayGamesPlatform.Instance.RealTime.DeclineInvitation(invitationId);
  • invitationId : 招待を受けた時に渡されたInvitationクラスのInvitationIdプロパティを渡す

ランダムマッチ

  • また今度更新します。
10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?