gpg:: TurnBasedMultiplayerManager
#include <turn_based_multiplayer_manager.h>
擷取、修改及建立 TurnBasedMatch 物件。
摘要
公開類型 |
|
|---|---|
MatchInboxUICallback
|
typedefstd::function< void(const MatchInboxUIResponse &)>
定義可接收來自 ShowMatchInboxUI 的 MatchInboxUIResponse 的回呼。 |
MultiplayerStatusCallback
|
typedefstd::function< void(MultiplayerStatus)>
定義可用來接收 MultiplayerStatus 的回呼。 |
PlayerSelectUICallback
|
typedefstd::function< void(const PlayerSelectUIResponse &)>
定義可接收來自 ShowPlayerSelectUI 的 PlayerSelectUIResponse 的回呼。 |
TurnBasedMatchCallback
|
typedefstd::function< void(const TurnBasedMatchResponse &)>
定義可用來從其中一項回合製多人遊戲作業接收 TurnBasedMatchResponse 的回呼。 |
TurnBasedMatchesCallback
|
typedefstd::function< void(const TurnBasedMatchesResponse &)>
定義可接收其中一個回合製多人遊戲作業的 TurnBasedMatchesResponse 的回呼。 |
公開的靜態屬性 |
|
|---|---|
kAutomatchingParticipant
|
const MultiplayerParticipant
可傳遞到使用「下一個」選項的方法
。
|
Structs |
|
|---|---|
|
gpg:: |
|
|
gpg:: |
|
|
gpg:: |
特定 |
|
gpg:: |
以 |
公開類型
MatchInboxUICallback
std::function< void(const MatchInboxUIResponse &)> MatchInboxUICallback
定義可接收來自 ShowMatchInboxUI 的 MatchInboxUIResponse 的回呼。
MultiplayerStatusCallback
std::function< void(MultiplayerStatus)> MultiplayerStatusCallback
定義可用來接收 MultiplayerStatus 的回呼。
由 StayMatch 和取消 Match 函式使用。
PlayerSelectUICallback
std::function< void(const PlayerSelectUIResponse &)> PlayerSelectUICallback
定義可接收來自 ShowPlayerSelectUI 的 PlayerSelectUIResponse 的回呼。
TurnBasedMatchCallback
std::function< void(const TurnBasedMatchResponse &)> TurnBasedMatchCallback
定義可用來從其中一項回合製多人遊戲作業接收 TurnBasedMatchResponse 的回呼。
TurnBasedMatchesCallback
std::function< void(const TurnBasedMatchesResponse &)> TurnBasedMatchesCallback
定義可接收其中一個回合製多人遊戲作業的 TurnBasedMatchesResponse 的回呼。
公開的靜態屬性
kAutomatchingParticipant
const MultiplayerParticipant kAutomatchingParticipant
可傳遞到使用「下一個」選項的方法 。
這會導致方法透過自動配對選取下一位參與者。只有在相關相符項目的 TurnBasedMatch::AutomatchingSlotsAvailable 大於 0 時,才能將 kAutomatching 參與者傳遞至函式。
公開函式
AcceptInvitation
void AcceptInvitation( const MultiplayerInvitation & invitation, TurnBasedMatchCallback callback )
以非同步方式接受 MultiplayerInvitation,並透過 TurnBasedMatchCallback 傳回結果。
如果作業成功,透過回呼傳回的 TurnBasedMatch 會處於 TurnBasedMatchState::MY_TURN 狀態。
AcceptInvitationBlocking
TurnBasedMatchResponse AcceptInvitationBlocking( Timeout timeout, const MultiplayerInvitation & invitation )
封鎖 AcceptInvitation 的封鎖版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
AcceptInvitationBlocking
TurnBasedMatchResponse AcceptInvitationBlocking( const MultiplayerInvitation & invitation )
超載 AcceptInvitationBlocking,使用 10 年的預設逾時。
CancelMatch
void CancelMatch( const TurnBasedMatch & match, MultiplayerStatusCallback callback )
以非同步方式取消比對。
透過 MultiplayerStatusCallback 傳回的狀態會指出作業是否成功。比對狀態必須是 INVITED、 THEIR_TURN 或 MY_TURN,才能使用這個函式。
CancelMatchBlocking
MultiplayerStatus CancelMatchBlocking( Timeout timeout, const TurnBasedMatch & match )
封鎖 CancelMatch 的封鎖版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
CancelMatchBlocking
MultiplayerStatus CancelMatchBlocking( const TurnBasedMatch & match )
CancelMatch 超載使用 10 年的預設逾時時間。
ConfirmPendingCompletion
void ConfirmPendingCompletion( const TurnBasedMatch & match, TurnBasedMatchCallback callback )
確認比賽結果已結束,且尚待當地完成比對。
只有在 TurnBasedMatch::Status() 傳回 MatchStatus::PENDING_COMPLETION 時,才能呼叫這個函式。
| 詳細資料 | |||||
|---|---|---|---|---|---|
| 參數 |
|
||||
ConfirmPendingCompletionBlocking
TurnBasedMatchResponse ConfirmPendingCompletionBlocking( Timeout timeout, const TurnBasedMatch & match )
封鎖 ConfirmPendingCompletion 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
ConfirmPendingCompletionBlocking
TurnBasedMatchResponse ConfirmPendingCompletionBlocking( const TurnBasedMatch & match )
ConfirmPendingCompletionBlocking 超載會使用 10 年的預設逾時。
CreateTurnBasedMatch
void CreateTurnBasedMatch( const gpg::TurnBasedMatchConfig & config, TurnBasedMatchCallback callback )
使用提供的 TurnBasedMatchConfig,以非同步方式建立 TurnBasedMatch。
如果建立成功,此函式會透過提供的 TurnBasedMatchCallback 傳回 TurnBasedMatch。新建立的 TurnBasedMatch 一律會以 TurnBasedMatchState::MY_TURN 狀態開始。
CreateTurnBasedMatchBlocking
TurnBasedMatchResponse CreateTurnBasedMatchBlocking( Timeout timeout, const gpg::TurnBasedMatchConfig & config )
封鎖 CreateTurnBasedMatch 的封鎖版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
CreateTurnBasedMatchBlocking
TurnBasedMatchResponse CreateTurnBasedMatchBlocking( const gpg::TurnBasedMatchConfig & config )
CreateTurnBasedMatchBlocking 超載,會使用 10 年的預設逾時。
DeclineInvitation
void DeclineInvitation( const MultiplayerInvitation & invitation )
拒絕 MultiplayerInvitation 給 TurnBasedMatch。
這樣做會取消其他參與者的比賽,並從本機玩家的裝置中移除對戰。
DismissInvitation
void DismissInvitation( const MultiplayerInvitation & invitation )
關閉對 TurnBasedMatch 的 MultiplayerInvitation。
這不會變更其他參與者的 TurnBasedMatch 顯示狀態,但會將 TurnBasedMatch 從本機玩家的裝置中移除。
DismissMatch
void DismissMatch( const TurnBasedMatch & match )
這不會變更其他參與者的 TurnBasedMatch 顯示狀態,但會將 TurnBasedMatch 從本機玩家的裝置中移除。
FetchMatch
void FetchMatch( const std::string & match_id, TurnBasedMatchCallback callback )
按 ID 以非同步方式擷取特定相符項目。
這項作業會透過 TurnBasedMatchCallback 傳回。
FetchMatchBlocking
TurnBasedMatchResponse FetchMatchBlocking( Timeout timeout, const std::string & match_id )
封鎖 FetchMatch 版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
FetchMatchBlocking
TurnBasedMatchResponse FetchMatchBlocking( const std::string & match_id )
FetchMatchBlocking 超載,會使用 10 年的預設逾時。
FetchMatches
void FetchMatches( TurnBasedMatchesCallback callback )
以非同步方式擷取目前玩家的 TurnBasedMatch 和 Invitation 物件。
系統會傳回所有進行中的相符項目,以及最多 10 個已完成的相符項目。
FetchMatchesBlocking
TurnBasedMatchesResponse FetchMatchesBlocking( Timeout timeout )
封鎖 FetchMatches 版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
FetchMatchesBlocking
TurnBasedMatchesResponse FetchMatchesBlocking()
FetchMatchesBlocking 超載,會使用 10 年的預設逾時。
FinishMatchDuringMyTurn
void FinishMatchDuringMyTurn( const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results, TurnBasedMatchCallback callback )
以非同步方式完成指定的比對。
在比賽的最終回合中,您可以用這個方式取代 TakeMyTurn。允許呼叫端指定 match_data 的最終值,以及 ParticipantResults 的最終值。這項作業完成之後,系統會透過提供的 TurnBasedMatchCallback. 傳回更新的比對項目。只有在 TurnBasedMatch::Status() 傳回 MatchStatus::MY_TURN. 時,才能呼叫這個函式
| 詳細資料 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 參數 |
|
||||||||
FinishMatchDuringMyTurnBlocking
TurnBasedMatchResponse FinishMatchDuringMyTurnBlocking( Timeout timeout, const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results )
封鎖 FinishMatchDuringMyTurn 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
FinishMatchDuringMyTurnBlocking
TurnBasedMatchResponse FinishMatchDuringMyTurnBlocking( const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results )
FinishMatchDuringMyTurnBlocking 超載,其預設逾時為 10 年。
LeaveMatchDuringMyTurn
void LeaveMatchDuringMyTurn( const TurnBasedMatch & match, const MultiplayerParticipant & next_participant, MultiplayerStatusCallback callback )
在本機參與者回合期間以非同步方式離開比賽。
透過 TurnBasedMatchCallback 傳回的回應包含本機玩家離開後的比對狀態。如果此次出發離開比賽的參與者少於兩位,系統將取消對戰。match.Status() 必須傳回 MatchStatus::MY_TURN,才能使用這個函式。
| 詳細資料 | |||||||
|---|---|---|---|---|---|---|---|
| 參數 |
|
||||||
LeaveMatchDuringMyTurnBlocking
MultiplayerStatus LeaveMatchDuringMyTurnBlocking( Timeout timeout, const TurnBasedMatch & match, const MultiplayerParticipant & next_participant )
封鎖 LeaveMatchDuringMyTurn 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
LeaveMatchDuringMyTurnBlocking
MultiplayerStatus LeaveMatchDuringMyTurnBlocking( const TurnBasedMatch & match, const MultiplayerParticipant & next_participant )
LeaveMatchDuringMyTurnBlocking 超載,其預設逾時為 10 年。
LeaveMatchDuringTheirTurn
void LeaveMatchDuringTheirTurn( const TurnBasedMatch & match, MultiplayerStatusCallback callback )
在其他參與者回合期間,以非同步方式離開比賽。
透過 MultiplayerStatusCallback 傳回的回應會包含本機參與者是否成功離開對戰。如果此次出發離開比賽的參與者少於兩位,系統將取消對戰。match.Status() 必須傳回 MatchStatus::THEIR_TURN,才能使用這個函式。
LeaveMatchDuringTheirTurnBlocking
MultiplayerStatus LeaveMatchDuringTheirTurnBlocking( Timeout timeout, const TurnBasedMatch & match )
封鎖 LeaveMatchDuringTheirTurn 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
LeaveMatchDuringTheirTurnBlocking
MultiplayerStatus LeaveMatchDuringTheirTurnBlocking( const TurnBasedMatch & match )
LeaveMatchDuringTheirTurnBlocking 超載,其預設逾時為 10 年。
再玩一局
void Rematch( const TurnBasedMatch & match, TurnBasedMatchCallback callback )
重新比對狀態為 MatchStatus::COMPLETED 的比對。
如果可以進行重新配對,TurnBasedMatchCallback 會收到新的相符項目。
| 詳細資料 | |||||
|---|---|---|---|---|---|
| 參數 |
|
||||
RematchBlocking
TurnBasedMatchResponse RematchBlocking( Timeout timeout, const TurnBasedMatch & match )
封鎖 Rematch 的封鎖版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
RematchBlocking
TurnBasedMatchResponse RematchBlocking( const TurnBasedMatch & match )
RematchBlocking 超載,會使用 10 年的預設逾時。
ShowMatchInboxUI
void ShowMatchInboxUI( MatchInboxUICallback callback )
同步顯示配對收件匣 UI,讓玩家選取相符項目或邀請。
同步完成後,系統會透過 MatchInboxUICallback 傳回所選相符項目或邀請。
ShowMatchInboxUIBlocking
MatchInboxUIResponse ShowMatchInboxUIBlocking( Timeout timeout )
封鎖 ShowMatchInboxUI 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
ShowMatchInboxUIBlocking
MatchInboxUIResponse ShowMatchInboxUIBlocking()
ShowMatchInboxUIBlocking 超載,會使用 10 年的預設逾時。
ShowPlayerSelectUI
void ShowPlayerSelectUI( uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch, PlayerSelectUICallback callback )
非同步顯示玩家選取的 UI,讓玩家選擇其他玩家進行對戰。
完成後,系統會透過 PlayerSelectUICallback 傳回所選玩家。
ShowPlayerSelectUIBlocking
PlayerSelectUIResponse ShowPlayerSelectUIBlocking( Timeout timeout, uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch )
封鎖 ShowPlayerSelectUI 版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
ShowPlayerSelectUIBlocking
PlayerSelectUIResponse ShowPlayerSelectUIBlocking( uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch )
ShowPlayerSelectUIBlocking 超載使用 10 年的預設逾時。
SynchronizeData
void SynchronizeData()
強制同步處理 TBMP 比對資料與伺服器。
收到新資料會觸發 OnTurnBasedMatchEventCallback 或 OnMultiplayerInvitationReceivedCallback。
TakeMyTurn
void TakeMyTurn( const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results, const MultiplayerParticipant & next_participant, TurnBasedMatchCallback callback )
以非同步方式接受當地參與者的回合。
輪轉時,參與者可以指定 match_data 的新值和一組 ParticipantResults。結束回合後,系統會透過 TurnBasedMatchCallback 傳回更新後的比對項目。只有在 TurnBasedMatch::Status() 為 MatchStatus::MY_TURN 時,才能呼叫這個函式。
| 詳細資料 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 參數 |
|
||||||||||
TakeMyTurnBlocking
TurnBasedMatchResponse TakeMyTurnBlocking( Timeout timeout, const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results, const MultiplayerParticipant & next_participant )
封鎖 TakeMyTurn 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT。
TakeMyTurnBlocking
TurnBasedMatchResponse TakeMyTurnBlocking( const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results, const MultiplayerParticipant & next_participant )
TakeMyTurnBlocking 超載 (使用 10 年的預設逾時)。