2016-12-02 2 views
0

私はUnityでマルチプレイヤーゲームを作成しています。Google Playゲームで相手プレイヤーが利用できない場合に部屋を中止する方法を教えてください。

部屋を作成するために、私が使用しています:

PlayGamesPlatform.Instance.RealTime.CreateQuickGame(MinOpponents, MaxOpponents, GameVariant, listener); 

を部屋の作成の進捗状況を取得するには、私が使用しています:しかし、ちょうどprogress = 20で一度呼び出され

public void OnRoomSetupProgress(float progress) { 
} 

上記の機能を他のプレイヤーがいない場合はもう一度やり直してください。

当初、私はこのアプリを使用するプレイヤーがたくさんいないので、他のプレイヤーとの接続に10秒待つことができます。プレイヤーがいない場合は、AIでビルドを開始します。このために、私は現在の部屋のセットアップの進行をきれいに中止する必要があります。どのように私はさらに移動することができますか分かりません。

このシナリオの解決方法をご存知の方は教えてください。

答えて

0

Unityのマルチプレイヤーゲームに関しては、このGitHub postは、PlayGamesPlatform.Instance.RealTime.LeaveRoom();を使用してゲームが終了したときに部屋を去ることについてだけ話して、リスナーのOnLeftRoomへの呼び出しをトリガーしました。

あなたは試してみたいことがありますAdding Real-time Multiplayer Support to Your Android Game特にAdding a waiting room UIあなたが待合室UIを使用する場合は、ゲームが開始またはキャンセルする必要があるときに見られるよう

は、あなたが、決定する追加のロジックを実装する必要はありませんと述べていますshouldStartGame()shouldCancelGame()の早い方。 Activity.RESULT_OK結果を取得すると、必要な数の参加者が接続されているのですぐに開始できます。同様に、待合室のUIからエラーの結果が得られた場合、単に退室することができます。

// leave room 
Games.RealTimeMultiplayer.leave(mGoogleApiClient, null, mRoomId); 

// remove the flag that keeps the screen on 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
leave()を呼び出して、部屋を残すために

関連する問題