2016-12-02 47 views
0

我在Unity中創建多人遊戲。如何在Google Play遊戲中沒有對手玩家時放棄房間?

要創建一個房間,我使用:

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

爲了得到室創建的進度,我使用:

public void OnRoomSetupProgress(float progress) { 
} 

上述功能,但只是在progress = 20調用一次然後,如果沒有其他球員可用,永遠不會再次。

由於最初,我不會有很多玩家使用這個應用程序,我想等待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()

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

// remove the flag that keeps the screen on 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
相關問題